SHDP-376 Add generic boot hadoop config option

- New generic spring.hadoop.config key which can
  be used as a map to set additional generic
  hadoop config settings.
SHDP-211 Container Grouping

- Initial import from dev branches
- Container grouping and clustering implementation.
- Internal statemachine which is intentionally left
  un-documented.
- Integration with boot autoconfiguration and
  configuration properties.
- Enhanced libs for building custom client
  side apps. This brings 'app moded' up to
  date in terms of how end to end lifecycle is handled.
SHDP-211 Compile fixes

- Fixing jdk6/jdk7/jdk8 build issues for tests
  and javadocs.
SHDP-211 Fixes for hadoop24

- Implementing new method in TestDNSToSwitchMapping
  due to changes in DNSToSwitchMapping hadoop22/hadoop24.
SHDP-381 New argumentsList launch context option

- Adding new option to be able to pass programm arguments
  as list instead of map. This allows to keep order
  and use arguments which are not key-value based delimited
  by '='.
SHDP-379 Creating custom container projections

- Refactored projection config so that more than
  one GridProjectionFactory can be used.
- Default GridProjectionFactory can be overridden.
- Default projection data for clusters created
  at startup is now its own bean.
- GridProjectionFactoryLocator is handling all
  factories.
SHDP-382 Containers not allocated after rejection

- Forcing all clusters into state where allocation happens
  in cases when container is completed but it wasn't part
  of any cluster.
SHDP-383 Change all boot cli commands to be modifiable

- Refactoring to allow user to change commands. Changing
  option handler classes not to be protected final's.
- Modifications to make it possible to test command logic.
- Added various tests for commands and cli.
SHDP-386 Test custom boot cli command

- Adding tests and command implementation
  for native boot cli Command interface.
SHDP-385 Container exit -100 not processed

- Previously if nodemanager died or was brought
  down together with its containers, appmaster
  didn't process exit status of -100 indicating
  that container was lost.
- Modifying appmaster and container monitoring
  components to handle other yarn specific exit
  statuses.
SHDP-389 Append for PartitionTextFileWriter

- Added append flag in PartitionTextFileWriter
- Tidy up whole append code
- Removed hflush() method and combined it with flush()
- Made better tests
SHDP-359 Upgrading to Spring 4.1.x and also Batch and Int minor version updates
SHDP-359 Upgrading Cloudera CDH to 5.1.0 and Hadoop 2.4.x to 2.4.1
SHDP-359 Downgrading Spring 4.1.x to RC1 due to failing test

- see https://build.spring.io/browse/SPRINGDATAHADOOP-MASTER-JOB1-763/test/case/155724097
SHDP-371 Update boot and core

- Boot from 1.1.0 to 1.1.5. Fix Map handling
  in config properties in SpringYarnClientLocalizerProperties.
- Core from 4.1.0.RC1 to 4.1.0.RC2. Fix bean autowiring
  in YarnAppmasterAutoConfiguration by not define a bean
  in a same @Configuration class which tries to autowire
  beans by its interface.
SHDP-390 Remote batch step exit code not updated

- Adding missing exit code handling so that remote
  steps are updated via appmaster
SHDP-391 Remove unneeded YarnContainerClusterMvcEndpoint response entities

- Remove and void response entities for PUT and
  PATCH requests for clusters. This aligns API
  as it's documented and as generally how REST
  should work.
SHDP-392 Tidy up SpringYarnAppmasterProperties

- Remove unused enabled flag from ContainerClusterProperties.
- Add missing header for SpringYarnAppmasterProperties.
SHDP-384 Updates to docs

- Add docs for container grouping
- Add new config properties for grouping
  and hadoop config for generic keys
  and security.
SHDP-393 Tidy up JobUtils

- Fix sts project warning