reduce dagger complexity and enforce compile phase on providers

Dagger module complexity was higher than necessary due to some meta-programming used to detect which credentials supplier should be used per-provider.  

Meta-programming is an anti-pattern in dagger, which [aspires to be simple](http://www.infoq.com/presentations/Dagger).

The concept of user-override is facilitated by the `Module.overrides` flag.  This replaces whatever was bound with something the user prefers.  Ex. route53 IIP credentials provider would be the first, and if someone specified their own, it would override it.

This pull request removes the meta around credentials and also corrects a problem in the build.  Essentially the edge providers were not running the dagger compile phase, and therefore falling back to the more expensive reflective DI.  A side effect of this was that dot files were not being generated.

With this pull request in, there's less code, less complexity and you can use Denominator as a Dagger library.

For example, here's how to skip the denominator.Denominator class and use Dagger directly:
```
 DNSApiManager manager = ObjectGraph
              .create(new UltraDNSProvider.Module(), credentials("username", "password"))
              .get(DNSApiManager.class);
```

Morever, the build will output dot files which will help us hunt down and kill the rest of our incidental complexity in wiring.

Ex. after running `./gradlew clean test install` you'll have some dot files to load in omnigraffle or otherwise favorite graph tool.
```
providers/denominator-clouddns/build/classes/test/denominator/clouddns/CloudDNSProviderTest.Module.dot
providers/denominator-dynect/build/classes/test/denominator/dynect/DynECTProviderTest.Module.dot
providers/denominator-route53/build/classes/main/denominator/route53/Route53Provider.Module.dot
providers/denominator-route53/build/classes/test/denominator/route53/Route53ProviderTest.Module.dot
providers/denominator-ultradns/build/classes/test/denominator/ultradns/UltraDNSProviderTest.Module.dot
```