Port GeneticCode module from pycogent

This is a direct port from the code in pycogent, the main things that changed
were:

- attribute and method names are now underscore separated (~~stupid PEP8~~).
- numpy docstrings (with examples yay!).
- module level documentation.
- indexing in skbio's docs.
- change tests to use unittest methods instead of pycogent's.
- A lot of PEP8 changes.

Fixes #110