Fix bug in ProvidesProcessor that makes it only generate the last @Provides method.

In 

```
@Module(...)
class MyModule {
  @Provides String string() { return ""; }
  @Provides Integer integer() { return ""; }
}
```

The resulting ModuleAdapter will only have a binding generated for the last of the provides methods it encounters.  In short.  `type` != `type.toString()` so we overwrite the list of provides methods to generate.

Oops.

This PR adds an integration test to assert all of the provides bindings classes are generated and fixes the bug.