ARQ-1071 Replaced ThreadLocal with InheritableThreadLocal

Use InheritableThreadLocal to allow sub threads to find Arquillian Core.
This is needed when using a multi threaded test framework client;
e.g. for Timeout threds or Multi executors
ARQ-1356 Throw exception during invoke to set correct internal state

Test running with TestNG have the wrong internal state since state is
only set to FAILED if an exception is thrown.
ARQ-700 Support for multiline configuration entries
ARQ-941 Exception.class default for value attribute on @ShouldThrowException
ARQ-1284 Open Servlet Protocol for extension

Required by Proxied Servlet Protocol for OpenShift.