Add dependency management for each auto project independently vs relying on transitivity

Auto are being good libraries by shading their internal use of guava.

https://github.com/google/auto/pull/160

I noticed that there's no longer a transitive dep on auto-service from auto-value anymore. Let's call these out independently
@adriancole Since `AutoService` is now it's own dependency, I feel that this should be in the `<dependencies>` stanza instead. I believe that we should be using `AutoService` across all of the project(s) for API/Provider service loader metadata generation. Is there a reason not to do this? I do understand the need for different versions of `AutoValue`, but that shouldn't apply in this specific case.