UnitTest to show behavior fixed with #121
True singleton provider

When annotating a Provider as @Singleton Guice treats the provider, and
not the object it is providing, as the singleton.  As a result multiple
instances of the type end up being created whenever the type is
injected or get() is called.  When combining @Singleton and extending
from the new SingletonProvider the provider will cache and always
return the first object created thereby making the type a singleton.
Merge pull request #122 from elandau/master

UnitTest to show behavior fixed with #121