Demonstrate named, explicit providers.
Demonstrate named, explicit providers.

This pins down an implicit but important bit of policy: providers commute past names.  Or put another way, the name of the provider is the name of the provided.

When binding providers this is currently followed explicitly (notice `binder.bind<Provider<Animal> >().named<Meatloaf>().to<...>()`), but this will be soon inlined when those two binding calls are combined together.

phs/sauce,phs/sauce,phs/sauce,phs/sauce