Implemented follow-symlinks feature for S3.

Added unit and integration tests along with PEP8 reformatting for
the entire file.

Fixes:
#453
#781
Maybe we should blacklist `'Windows'` here instead of whitelisting Mac / Linux. I'm not 100% sure, but I believe there are other possible values that may support symlinks. [This StackOverflow](http://stackoverflow.com/a/446215/164268) answer has some info on `sys.platform` - I'm not sure if `platform.version` behaves the same.