Add coding guidelines

These are the coding guidelines as updated from what originally was in
PyCogent. I took a pass through the document and updated where I saw fit,
however I know that people will like to add things that are currently not being
covered, so let me know and I'll add/change as needed.

The section that needs the most attention is the testing section. I updated it
but I know there might still be things that are missing as I'm not super
familiar with nose.

I've also added a minimal section about git that mainly points to other well
known and well written git guides.

Fixes #272
Should we point to the discussion in ``CONTRIBUTING.md`` here about what tests are run by travis and how to run those locally? It's really frustrating to have tests pass locally and then fail when travis runs them because you were testing differently.