tests/dictionary: performance tests for a dictionary container

This test program is designed to compare the performance of different
dictionary containers on any given document.

At the moment, it supports:

  *  null container -- does nothing except iterate over the document

     This is used as the baseline to compare against. All real
     implementations will be slower than this, but by comparing
     them with this, it is possible to measure how close they are
     to the theoretical best.

  *  std::map<> -- the C++ map container

     This is usually implemented as a red-black tree.

  *  std::unordered_map<> -- the C++ hash map container

This will also support a cainteoir::dictionary container that will
use a trie data structure implementation and be used to hold the
exception dictionary.