Improve SingularityClient Guice module and API

add `binder.requireExactBindingAnnotations();` which ensures that an `@Named("xxx")` binding can not sneak into an unnamed binding.