Adding security token handling

Hi @mholt,

This is not really ready to merge, but I would like some feedback. 

I have added the ability to get STS tokens into v4 requests, and this is working. I even added a test for it. I didn't add this into the other requests yet because it was not totally clear in the docs.

I am not super happy about adding the ```SecurityToken``` field to the ```Credentials``` type. This means you have to add blank items in when you initialize a ```Credentials``` struct. This seems tedious. What do you think?

Thanks,
Dave