[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
Raise sleep here because travis is SLOW
Merge pull request #5329 from Learnosity/s3-multi-bucket

S3 file server multi bucket and cache sync support
fixed bug: schedule's return's log is wrong order

before:
[INFO    ] Job local_return using invalid returner: state.highstate Ignoring.

after:
[INFO    ] Job state.highstate using invalid returner: local_return Ignoring.
Merge pull request #5331 from halfss/develop

fixed bug: schedule's return's log is wrong order