Fixing an error message about an unassignable backend
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
JCLOUDS-431: Added m3.medium and m3.large instance types to EC2