setup.py fixes: ship what we intend to ship

- Fix MANIFEST.in entries so files actually get included
- Add all tests and test data to MANIFEST.in so they get shipped in the
  source tarball
- Add some more files to MANIFEST.in from the root of the git tree
- Drop tests/ from packages and drop package_data so irrelevant files do
  not get installed into bdists or with setup.py install