(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.
(PE-2650) tests for add-context-handler function

This commit adds tests for the add-context-handler function.
While at it, the structure of an existing test is changed
to be in line with all the other tests.
(PE-2650) bootstrap-services-with-cli-data -> with-app-with-cli-data

This commit updates the tests to use the safer with-app-with-cli-data
function for booting a TK service to be tested instead of the older
bootstrap-services-with-cli-data.
As the new function does a better job at setting up/tearing down the test
environment it was also possible to simplify the tests and while at it
some unused imports/requires were removed.
Merge pull request #9 from mruzicka/PE-2650_trapperkeeper_ruby_prerequisites

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