Add some changes to the contributing guide

* Now includes a list of required software, which fixes #19 .
* Fixed some ambiguity in the part about code examples.
* Added note about `git add -p` (it's a lifesaver)