XD-578 Can't access HDFS using the webhdfs protocol

Also address XD-901 regarding different dependencies for webhdfs
in different Hadoop distributions.
Fix SingleNodeMainIntegrationTests' server stop

- Invoke stop() on SingleNodeServer in @After test method
  rather than inside the test method itself
  (This guarantees the server is stopped after each test
   irrespective of test result)
Extract CORS support in dedicated class
XD-915: Convert tcp modules

Converts tcp modules to new form (separate project for source and sink).

Adds tests for tcp modules.
Suppress warnings for CompositeCodec in tests
Revert OptionsRequestCtrl as it conflicts with static pages
XD-915b: Apply to mqtt Modules

Update mqtt version to SNAPSHOT
Remove serialization warning
XD-924: Split .x package into 3 additional projects
Relax dependency on twitter stuff
Move projects into an extensions/ directory
XD-891 Runtime containes/modules info

- Added store option for container to persist container/module info
 - The container and module event listeners no longer *transport* specific
   Instead, based on the store used:
     - the container start/stop events update at ContainerRepository
     - the modules deploy/undeploy events update at ModulesRepository (where
       the modules of mapped under the groupName of the deployment request)
       and, at ContainerModulesRepository (where the modules are mapped by
       the container that deployes the module)
 - Removed the transport specific event listeners from Redis & Rabbit transport
   based container configs
- Added REST controllers ContainersController & RuntimeModulesController
  to interact with containers/modules repo
 - Added 'runtime/containers' to list containers
 - Added 'runtime/containers/{containerId}/modules' to list the
   runtime modules on a given container
 - Added 'runtime/modules' to list all the runtime modules
- Added REST client/Shell commands implementation
 - Added Shell commands:
     'runtime containers' to list containers
     'runtime modules' to list modules
     'runtime modules --containerId <id>' to list modules by container
     'container list' to list containers (this implementation at ContainerCommands
       can be used for future container specific commands)
XD-891 Add tests

- Added tests for Container & Runtime shell commands
- Added tests for Containers & RuntimeModules REST controllers
- Fixed review comments
 - Made hashOperations visibility to be private and added accessor
 - Added constant declarations for ModuleEntity index fields
XD-891 Remove ContainerOperations

- Removed ContainerOperations and its implementation
 - Moved the listContainers into runtimeOperations
- Removed ContainerCommands and its tests
- Fixed review comments
XD-891 Remove system.out.println
XD-891 Fix review comments
XD-891 Fix listRuntimeModulesByContainerId

- Fixed the listRuntimeModulesByContainer to return Page resources
  instead of List.
- Also moved this method to RuntimeModulesController
XD-940 Fix Splunk SI Transitive Dependency

For some reason gradle pulled a transitive SI version into
launch classpaths from the SI splunk extension.

Normal gradle builds worked fine; as were the 'Referenced Libraries'
in STS.

Explicitly set the SI version for the splunk extension.
XD-908: Query aggregate count by number of points

Adds extra query methods to the AggregateCounterRepository which takes
to query by the number of points required. One method takes a date and
returns points prior to that, the other takes just the count and 
resolution and returns the points from the current time.
moved build_xd to gradle/