Cleaned up "#!" declarations

Removed them from modules that aren't designed to be executed.
I didn't do a very deep analysis, just common sense and looking for
the existence of a '__name__ == "__main__"' check in the module.

Ask for "python2" as interpreter instead of just "python", see PEP 394
for details.
  http://www.python.org/dev/peps/pep-0394/

Set executable flag on the modules that kept "#!".
Put module and class comments in docstrings

Docstrings can be used to generate API documentation, while comments
can only be read in the source itself.
Removed space before argument list on class or function definition

Most Python projects don't put spaces there and even within Twine
some definitions had it and some didn't.