Created outline of interface for a dictionary.

This includes
        - A template interface class for the dictionary class,
          defining the basic operations and their behavior.
        - An exception class that gets thrown if a key isn't found
          in the dictionary.
        - A (for now) empty directory for unittests of implementations.

This has been lightly tested using an array implementation (not
yet committed) and appears to work well.