Refactor and rely on Distribute.

- Use the second namespacing technique from PEP382
- `find_packages()` replaces what we were doing manually
- exclude `test` directories
- add `zip_safe`
Remove custom string conversion in `setup.py`.

Distribute from at least 0.6.26 can handle unicode characters in the package json `description` field (unicode in the `name` breaks). Our custom function however couldn't handle any unicode. It broke with:

```
File "setup.py", line 30, in convert_to_str
    d2[k] = str(v)
UnicodeEncodeError: 'ascii' codec can't encode characters ...
```