Add zen(). Add test for search_repos.

Also, I made the doc strings for all the methods in github3.github more
concise. And I reworked BaseCase.mock_assertions. Now it's a simple method.
Forgot to add the JSON files.

Also added two more tests.
Simplify thanks to requests.compat.
2 more tests.

Commented out start for test_star.
Repository.master_branch defaults to None not '' now as per docs
Add more examples and trim README.rst.

Also add item to TODO list about setting logical and sane defaults.
Repository.contents() now acts as documented and returns None on API 404
Default Repository.edit() to make no changes for unsupplied parameters

This is a behaviour change, however I feel the previous implementation
was dangerous due to violation of the Principle of Least Surprise.

Under the previous implementation, if I wrote the following:

    r.edit(r.name, has_issues=True)

then if `r` was a private repo, I would have inadvertently made it
public on GitHub, because the `private` parameter to `edit` had a
default value of `True`. Technically, this was the behaviour as
documented, but I believe this commit provides an improvement: now all
parameters default to `None`, and in the case of a parameter being
`None` it is not included in the JSON sent in the `PATCH` request, so
the repository setting is left unchanged.
Merge remote-tracking branch 'github/pr/48' into develop
Fix access on GitHub.star()

Add test for that same method.
Seriously important changes.
Reformat almost all docstrings.

Removed list_* methods from a few objects including (most importantly)
Repository
Remove some more list_* methods.

Should be the last of them.
Last of the docstring changes
50% test coverage.
Release 0.1 and bring coverage to 51%
Upgrade development to 0.2
Meant 0.3 in last commit message.

Fixed tests.

Mock's docs are out of date a bit. contextlib deprecated nested() and nested
with statements are the only things that make sense it seems.
Successfully handle 404 from Repository.issue()
Flake8 on setup.py.