Use singledispatch natively when available

This fixes #3. Use singledispatch from functools module in python 3.4
and use the library one for other pythons.
* hash/_compat.py: Created to maintain compatibility between various
  pythons, currently only singledispatch being used
* hash/utils.hy: Use singledispatch from _compat
* setup.py: make install_requires seperate depending upon python version