Don't pin specific version dependencies by default.

Also, avoid depending on ez_setup:  use it at setup time only if
setuptools is not already importable.
Break out non-core dependencies.

'cli' extra maps dependencies needed by the CLI.

'testing' extra maps dependencies needed by tests.
Ensure tox passes.
Merge pull request #9 from tseaver/dependency_cleanup

Don't pin specific version dependencies by default.
Add a sample of using uploads and downloads.

This pulls two integration tests into the repo as a sample,
and (unfortunately) just adds a copy of the generated storage client.