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
Yeah, decided to leave it in case someone thought it was of value to
have this in here.

On (Jun-10-14|11:50), Greg Caporaso wrote:
> > +
> > +- *Comments should say more than the code itself.* Examine your comments carefully: they may indicate that you'd be better off rewriting your code (especially, *renaming your variables* and getting rid of the comment.) In particular, don't scatter magic numbers and other constants that have to be explained through your code. It's far better to use variables whose names are self-documenting, especially if you use the same constant more than once. Also, think about making constants into class or instance data, since it's all too common for 'constants' to need to change or to be needed in several methods.
> > +
> > +    +-------+------------------------------------------------------------+
> > +    | Wrong |       ``win_size -= 20        # decrement win_size by 20`` |
> > +    +-------+------------------------------------------------------------+
> > +    |    OK | ``win_size -= 20        # leave space for the scroll bar`` |
> > +    +-------+------------------------------------------------------------+
> > +    | Right |                             ``self._scroll_bar_size = 20`` |
> > +    +-------+------------------------------------------------------------+
> > +    |       |                      ``win_size -= self._scroll_bar_size`` |
> > +    +-------+------------------------------------------------------------+
> > +
> > +
> > +- *Use comments starting with #, not strings, inside blocks of code.*
> > +- *Start each method, class and function with a docstring using triple double quotes (""").* The docstring should start with a 1-line description that makes sense by itself (many automated formatting tools, and the IDE, use this). This should be followed by a blank line, followed by descriptions of the parameters (if any). Finally, add any more detailed information, such as a longer description, notes about the algorithm, detailed notes about the parameters, etc. If there is a usage example, it should appear at the end. Make sure any descriptions of parameters have the correct spelling, case, etc. For example:
> 
> Should we just be deferring to the NumPy doc standard here? 
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/scikit-bio/pull/401/files#r13611748