Generate ModuleAdapters even when no Provides methods are present.

Rework `ProvidesProcessor` to generate `ModuleAdapters` even when no `@Provides` methods are present.

This averts needing to fall-back on the reflection back-end in the case of no provider methods.  

This change also adds some tests for stateful modules used in extension graphs, fixes some error text related to module instantiation, and makes ModuleAdapters thin when no provides processors and/or accessible constructors are available.