Move hacking to pep8 1.5.6

pep8 1.5.x drastically changed the way comments and docstrings are
handled. Previously docstrings and comments weren't tokenized so we had
to do some extra work to parse them ourselves, but now that they are
tokenized the appropriate hacking rules to use the new
tokenized text.

Also update all doctests and HACKING.rst to add space after '#' in
'# TODO'.

Note: the hacking code changes won't work with pep8 1.4.6, so the code
and dependency are both changed at the same time.

Change-Id: Ib35d493309fe7e87112a94c74beb70054ca0655c
Merge "Move hacking to pep8 1.5.6"