Upload support

This pull request introduces upload support. It does not come with documentation, as that will be part of a later pull request. If you wish to test uploading an archive: find any Python package, and run it's setup.py with the sdist argument. It will output a tarball, and you should be able to upload that to Pulp. To verify that it's been uploaded, you should be able to see it in Mongo like this:

```
> db.units_python_package.find()
```

Also, you should find the package you uploaded stored in ```/var/lib/pulp/content/python_package/```.
Consider breaking this test into 5 tests. The way it's written now is a test that asserts "everything is done right". I generally try to write tests that only assert one aspect of the behavior such as the return value, or that it calls foo, etc. If its broken up then the following will happen:
* It'll be easier to read because each test is more focused on a single behavior
* The test names become meaningful
* When tests fail it's easier to see which behavior specifically failed.

This is more of a style thing, but these are some thoughts that came to mind when I read this.