ARQ-1033 Initial commit of Transaction extension

Contain common user facing APIs for interaction with a Transaction Manager
in a Test and SPIs for integrating with different Transaction Manager types
and implementations.
ARQ-1067 prepare release 1.0.0.Alpha1
ARQ-1067 prepare for next development iteration
[ARQ-1074] Support for embedded containers

Copied RunModeUtils from container-impl-base to avoid direct dependency on impl module.
The need for this class will be removed in later Arquillian Core versions.
ARQ-1074 Fix logic for activating on client side or incontainer
[ARQ-1156] Fixed streams handling.
[ARQ-1137] Add new SPI to customize logic for enabling transactions for tests
[ARQ-1069] Added TransactionProvider impl for JTA

The implementation depend on an Context being provided for doing JNDI lookup.

Default lookup name is java:comp/UserTransaction, custom name can be set via the
@Transactional.manager attribute or via Transaction extension configuration.
ARQ-1175 prepare release 1.0.0.Alpha2
ARQ-1175 prepare for next development iteration
[ARQ-1186] Global / default transaction mode can be now configured through arquillian.xml
[ARQ-1185] Improved transaction handling to work both in the container and locally/embedded.
ARQ-1200 prepare release 1.0.0.Alpha3
ARQ-1200 prepare for next development iteration