Allow exclude patterns to match directory paths.

excluded strips down the filename to the basename, but fnmatch does not
need this, and it makes it impossible to trim a specific subdir path
in excludes that might need an additional layer of context (such as
"lib/python2.6") If we stop stripping down to basename for the check,
and then start joining root onto dirname in the os.path.walk call,
all works lovely.
Add back ability to exclude just on dir parts.

The last patch made exclude patterns apply to entire paths - but it's
possible people might have been counting on the matching behavior only
applying to an individual segment. This adds that behavior back.
Fix a silly error.
Readme now describes how to execute from Python

Commit related to issue #35 and #105.
Add optional surrounding whitespace to high precedence mathematical operators (*, **, /, //). Addresses issue #96
Handle non-unary, whitespace optional operators correctly. #96
accept '-' as input filename to read data for checking from standard input
E27 finds keyword at start of line
Fix --diff failing on one-line hunks

Without this fix, pep8 --diff fails uncleanly on diff hunks where either
the old or the new hunk is just one line and the patch omits the `,1`

Compact fix for jcrocholl#127
Fix E231 for nested dict
Merge pull request #111 from emonty/master

 Allow exclude patterns to match directory paths.
Merge pull request #142 from scullyx13/master

Fix E231 for nested dictionary in list
Merge pull request #137 from gthb/fix-issue-127

Fix --diff failing on one-line hunks
Merge pull request #133 from smichr/e27

E27 finds keyword at start of line
Fix false report of E231 in some cases
Add changelog entries
Comply with the 79 chars rule
Fix false E126 with indented comments; issue #138
Fix E225 when operator is preceded by a comma; issue #135
Merge pull request #128 from yole/input-from-stdin

accept '-' as input filename to read data for checking from standard input