JCLOUDS-427: Avoiding Guava reflection code broken in Java 7u51

- Adding a version of TypeToken.where that replaces two parameters in one go
- Avoiding TypeToken type parameter replacement with wildcard bounds

Works around https://code.google.com/p/guava-libraries/issues/detail?id=1635

Backport to 1.7.x of #261, based on the patch attached to [the JIRA issue](https://issues.apache.org/jira/browse/JCLOUDS-427).