Support External ID in STSAssumeRoleSessionCredentialsProvider

This class is extremely useful and it would be great if this could make it into master so that we don't have to fork. Let me know if you need me to do anything.

P.S. It would be awesome if you guys were able to publish the method you use to package this into the final packaged jar. I had to pull files out like the internal config from the distribution in order to test this the way I wanted to.
done. updated others that use externalId as well.