Allow custom headers for S3 Put

* S3.PutWithHeader & S3.PutReaderWithHeader
	* Take in custom headers instead of just Content-Type
	* Allow custom headers to override default set
		* Default to Content-Type: application/text