Fix the generic wildcards of the FluentFuture.transform methods.

This CL changes the generic arguments for the passed in functions to the transform methods so that they match the corresponding methods in Guavas Futures class. I've also added a (potentially controversial) compiler check class to make sure that these issues don't regress.