Change automatic packaging to not use __package__

* Fixes #285
* Don't rely on __package__. It does not exist for modules without
  imports or modules that has absolute_import
  http://legacy.python.org/dev/peps/pep-0366/
* Added unit tests to clearly describe what gets added. Still not
  intuitive to understand what gets added. We could make sure to add
  everything in a package "just to be safe", but then you might
  accidently add the entire universe of a namespaced package.
Merge pull request #307 from jooon/master

Change automatic packaging to not use __package__