Add some test cases for multiline strings.

Since I'm about to add special treatment of multiline strings, I
thought it best to ensure that we preserve the existing behaviour.
Check physical lines after tokenizing them.

This will make it possible to treat physical lines in multiline
strings distinctly, e.g. for issue #224 and #242 (not addressed yet;
this is just a prerequisite).

Details:
- readline_check_physical() is gone: now we only need readline()
- but now setting self.indent_char in check_physical() comes too late,
  so move that side effect up to readline()
- add maybe_check_physical() to decide after every token if it's time
  to check physical lines and, if so, do it
Fix an incorrect "W391 blank line at EOF"

It only happens when there is a multiline string at EOF that happens
to contain a blank line. Introduced by my special treatment of
multiline strings.
Allow long lines in multiline strings if they cannot be wrapped (issue #224).
Optionally disable physical line checks inside multiline strings (issue #242)

The trick is to attach the "# nopep8" (or "# noqa") comment after the
multiline string. In fact, it just has to be on the line that ends the
multiline string -- like most other noqa() checks, this is a dumb scan
of the physical line, not a fancy token-based check.
Make maybe_check_physical() easier to understand (based on code review)

- reorder so common case comes first
- rewrite docstring
- expand/clarify comments
Add one more test case for issue #224 (based on code review)
Merge branch 'master' of https://github.com/gward/pep8 into gward-master
Allow long lines in comments too, with similar rules; related to issue #224
Merge.  Allow long lines in docstrings and comments.

Allow long lines in multiline strings and comments if they cannot be wrapped; issue #224
Optionally disable physical line checks inside multiline strings, using '# noqa'; issue #242