Add new container class: Pair.

Pair is an container which holds two values of same type.
Add support for hash maps.

This commit adds hash map objects and inital API for `Map` class. Also
adds two new exception types: `LookupError` and `KeyError` which former
is used in `Map` class.

Largely based on existing hash set implementation. Coding while having a
hangover is terrible and slow.
Merge pull request #52 from peelonet/hash-map

Add support for hash maps.