Add Content-Type header to request
Fix upload to folders that don't exist yet
Do basic validation for upload/download args

Also:
* Use router for function calls
* Use built-in argparse way of handling positional arguments