Documents how to declare required bindings.
Adds back all the clutter to the pinject module, because removing it broke the unittests.