Allow ShardsAllocator to be configured via node level settings.

* Default ShardsAllocator is set to BalancedShardsAllocator
* Core ShardsAllocator implementations can be defined via 'cluster.routing.allocation.type'
* Core ShardsAllocator implementations are exposed via short keys 'balanced' (BalancedShardsAllocator) and 'even_shards' (EvenShardsCountAllocator)
* Third party allocators can be loaded via fully-qualified class names.

Closes #2557
use camelcase for getters
Remove deprecated StreamInput/Output#read/writeUTF
upgrade to netty 3.6.2
create index and mapping first to ensure all relevant nodes see the mapping
testMoreLikeThisIssue2197 should create index mapping first to prevent races
provide more information if a null DocumentMapper is returned
Delete operation on filtered alias shouldn't delete underlying index

Fixes #2318