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
We should add comments about how to write commit messages to automatically close issues. We can link to [this blog post](https://help.github.com/articles/closing-issues-via-commit-messages).