(PE-2650) add add-context-handler function

This commit adds the add-context-handler function which is used
by trapperkeeper-ruby to register rack based ruby applications
with the webserver service.
When the function is called with only the base-path and context-paths
parameters it creates a context handler capable of serving just the
static content from the base-path location. To turn the created context
to anything more advanced one has to supply one or more objects
implementing the ServletContextListener interface which can then
customize the context handler by setting its init parameters, and by
adding servlets, filters and other listeners to it.
Additionally the commit factors out a piece of common code for registering
newly created context handlers with the webserver-context from all the
add-*-handler functions into a separate function - add-handler - to prevent
code duplication.