Convert all end-of-lines in Python sources to Unix style

Previously, both DOS (CRLF) and Unix (LF) style were used, sometimes
even in the same file.

See issue: https://github.com/tweecode/twine/issues/118
Removed whitespace at end of lines

This avoids nasty red bars in "git diff".
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.
twee: The Header.factory() method now takes a 3rd argument

This fixes Twee after the changes in e8454bd1 broke it.
twee: Preserve order of passages

In Twee sources or manually crafted HTML the passages will often be
in an order that is meaningful to the author. Since it is a small
effort to preserve that order, it is worth doing so rather than using
the dictionary key order which is arbitrary.
Merge pull request #124 from mthuurne/preserve_order

Preserve passage order in Twee output + code cleanup