Unneeded.
Revert "Remove unused/unneeded eval method."

We need eval after all.

This reverts commit be732bf4ee0a593226d78c173b9dad6a0b03f3fa.
Get rid of the container and application abstractions.

This adds ComponentProviders, and allows instantiation of multiple
Component instances.

(Ring|Rack)Component are now gone, and that functionality needs to be
reimplemented in downstream projects using WebComponent.

Speaking of WebComponent, it now includes the servlet functionality as
well, via (register|unregister)Servlet(). We had discussed *not*
leaking HttpHandlers out of WebComponent, requiring you to call
backingObject() to get the Undertow instance. Currently, that is not
the case - there is a (register|unregister)HttpHandler() pair (mainly
because they provide some functionality that is useful to both
downstream impls), but I'm not attached to them. Let's discuss.

This removes integration-tests/, and adds a basic unit test to ruby/
and clojure/.
API changes based on feedback from @jcrossley3 and @bbrowning.

1) s/backingObject/implementation/
2) s/newComponent/create/
3) ComponentProvider::create takes a name and options arguments
4) Component is an interface
5) removing the Component suffix of each module's impl class name,
   instead having its name match the uppercased key name
6) CompomentProvider is now parameterized with a generic
Minor