Added reverse iterators.

The iterators are now directly templetized on the traverser to use, and
a trie is templetized with one standard traverser and one reverse
traverser.

The above might be better solved by defining the traversers with
abstract tags such as [dfs], …, and [preorder], [postorder], and of
course [forward], [reverse]. The latter could then be left unspecified
for tries, so that the base class would derive the correct classes to
use.

Added a test to ensure that iterators and reverse iterators indeed
iterate over the keys of a trie_set in the correct order.

Fixed a typo in the README.