Using pkgutil is fine. Remove improper namespacing.

Only `armstrong` is a namespace package; `dev` is a normal package. Also, it's not correct to declare other names in an `__init__.py` file that declares namespacing.
Put this back. Partial revert of 56f7cc8a768568e9baaa910558150abb6c138b7d.
Simplify `namespace_packages` creation and use `pkg_resources`.

I was wrong in 4df0c5321282c582edfe5675796120a21b58dd7c, setuptools wants its own method and there's no point fighting against it. Combining namespace_packages and the pkgutil method causes this error:
`WARNING: armstrong is a namespace package, but its __init__.py does not declare_namespace(); setuptools 0.7 will REQUIRE this!`
It's probably okay to `zip_safe=True` for all of our packages but I'll punt on this for now. I think we only ever do source distributions anyway. Also, packages can set it in their package.json if necessary.
Use `find_packages()` and since we aren't building `package_data` anymore, we need to use `MANIFEST.in`. That's what it's there for and does a more obvious job. "Explicit is better than implicit." Using MANIFEST requires `include_package_data=True`.