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
:+1: for ```filepath``` -> ```fp```, although others will point out inconsistencies with, e.g., C, where ```fp``` means ```file pointer```.  I personally don't think we need ```filename``` -> ```fn```, and I'm not sure about others, but I typically use the ```_fn``` suffix to mean ```function```