Allow cl to upload URLs

Now, we can do:
cl upload dataset http://www.example.com/bigdata.zip
or
cl upload dataset file:///tmp/bigdata.zip

This is especially useful when talking to a remote and we don't want the server to fetch the data directly rather than actually uploading it.