[UPDATE] fixed multi/single bucket per env in S3
[WIP] Cleaned up the comments and a few messy bits
[UPDATE] Refactored to allow multi/single env buckets

Also refactored out some duplicate code and cleaned up the comments and
flow quite a bit. Still need to implement the file_emptydir_list
[UPDATE] a refactor + fixed tuple bug in hashing

Stupid stupid stupid tuple bug
[UPDATE] more refactoring + switched cached dirs

Switched cache dirs around so it's <env>/<bucket>/<s3 path>/<file>
[UPDATE] Added local cache sync from S3
[UPDATE] Main description comments updated
[UPDATE] fixed some imports and removed debugging
Merge pull request #5329 from Learnosity/s3-multi-bucket

S3 file server multi bucket and cache sync support