Add support for PEP 420 namespace packages to find_packages()

On Python 3.3+, `find_packages()` now considers any subdirectory of the
start directory that's not a regular package (i.e., that doesn't have an
`__init__.py`) to be a namespace package. Because this will often
include non-package directories, a new `include` argument has been added
to `find_packages()`.

`include` can make it easier to narrow which directories are considered
packages instead of having to specify numerous excludes. In
particular, it's an easy way to keep top-level, non-source directories
from being considered packages.

The other way this supports PEP 420 is by making sure `__pycache__`
directories are never added to the list of packages.

Refs issue #97
Merge original PR 37 with latest head