Rewrite of module

Full rewrite.

No chunked uploading. This includes streaming files from disk and to disk (without loading them into memory) only.  web-core doesn't support chunked uploading currently. I left methods in the Streamer class that will facilitate chunked transfer encoding if and when it becomes available in the web-core API.

1. Moved the code into a library, upstream (this makes upstream the foundation of a web-core Python API)
1. Added a setup.py with `upstream` entry point for uploading/downloading
1. PyPI ready, pip installable
1. Rewrite of nearly every class
1. Removed shredder class
1. Docstrings on every method.  Every parameter, return, exception, etc is covered.
1. Added new exception classes to be more descriptive
1. CLI client, just run `upstream --server {upload,download} --args
1. Unittests are pretty comprehensive, not perfect
1. Integration tests currently running in Drone at [https://drone.io/github.com/angstwad/upstream](https://drone.io/github.com/angstwad/upstream)