Merge changes from topic 'qaim-dfs-iterator'
* changes:
Refactor & test moving to next/previous unread messages
Gui: use QaimDfsIterator when checking for previous/next unread messages
Check reverse iteration of a QaimDfsIterator
stashing_reverse_iterator: Fix a build error
Import a version of reverse_iterator which supports stashing iterators
Check that QaimDfsIterator's operator++ is reversible
Backward iteration through a QAbstractItemModel
Support iteration up until a given top-level index
Iterate through backtracking to the upper layers of the QAIM tree
Support iterating through a simple, linear depth of children
Iterator for walking through indexes within a flat QAIM