largely convert to using constructor injection

* except for servlet listener & filter, which are instantiated by the container
* this will make it easier to do manual dependency injection
add classes to manually do what CDI does:

* dependency injection
* context management
* lifecycle

App configuration is supported by methods on Builder (we don't mandate when this should be done, as different apps load configuration in various stages of the app lifecycle)
rename, as this used without CDI as well as with it
define a non-CDI API that clients should use for config & lookup
create ability to test archives without CDI
split EndToEndIT into a CDI and a non-CDI version
document usage without CDI