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.

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

Fixes issue #97
Bumped to 4.0 in preparation for next release.