Add API token support

Adds support for using the GitHub API v3 tokens.
Add token generation and file saving

Add methods to generate a token if the user isn't using one and to save
login information to a configuration file.
Remove authentication by password in config file
Merge branch 'master' into oauth-access

Conflicts:
	README.rst
	sympy-bot
	utils.py
Use ConfigParser to save config file
Don't ask for GitHub password with --no-comment
Refactor SymPy-Bot

Two chief things were done here (unfortunately it would have been too much
work to split them into separate commits):

1. SymPy-Bot now avoids doing redundant things more than once.  In particular,
for each pull request, the merge is attempted only once, and use2to3 is run
only once.  Note that py3k-sympy is not cleared between pull requests either,
which might potentially create false positive test failures, at least until
SymPy issue 3344 is fixed.  Also, the branch that is tested is now called
test_N, where N is the number of the pull request (like test_123).  The branch
is not deleted when the tests are done, so if you want, you can checkout the
temporary directory and test things.

2. The review summaries have been greatly condensed.  Redundant information
(i.e., branch hashes) is shown only once at the top, in a clearer English
format that now gives the branch names and was inspired by Travis-Bot.
Default information, such as the test command, is only shown if it differs
from the default.  Finally, all url links are now placed inline with the
text.  The result is a comment summary that I believe not only takes up
significantly less space on the pull request page, but is also easier to
read.

Finally, as one additional note, SymPy-Bot now officially only runs in Python
2.7.  This was so that I could use Python 2.7 idioms like set literals and
dictionary comprehensions that make the code easier to read (and Python 2.6
support was dubious anyway).
Use a reference-style link for the SymPy Bot GitHub page

This way, the first line is short enough that you can see the result of the
test in the summary of your email viewer.
Only run use2to3 once per pull request
Fix some subtle bugs

The reported SHA1 was the merge commit, not the branch commit, and use2to3 was
not being run after the merge.
Fix bug with multiple pull requests
Squish up the summaries even more

Now each interpreter takes no more than one line, unless there is extra
information like a custom test command.  There are also no longer extra
newlines between the test commands.  The result is that even with a couple
dozen interpreters, the whole thing will take up very little space in the
GitHub pull request discussion page.
Fix a punctuation issue
Clean the docs before making them
Fix comment uploading
Allow naming of GitHub tokens
Squash up the summaries even more

Now, the details of each interpreter are not printed if there were merge
conflicts or a problem fetching the branch.  "Interpreter 1" type headings
have been replaced with "Python 2.7" type headings.  Other text was slimmed
down.  The symbol is now leftmost.
Merge branch 'master' into summary

Conflicts:
	sympy-bot
Print if the cache is off in the summary again
Don't skip the details for merge conflicts or fetch error

The report url is in those details, so this requires a little more
refactoring.