GCS: Add custom upload path, Content-Type, ACL, Cache-Control, etc!

Add arguments:
- upload-dir
- detect-encoding
- cache_control
- acl

...And, support Content-Type header!
I think leaving is a good choice here. There are a lot of options.