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
Respect lowercase_expanded_terms in MappingQueryParser

Fixes #2566
wait for cluster to be formed in SimpleNodesInfoTests
Added trace log statement, to catch stacktraces
Pass on filterStrategy in XFilteredQuery if query is rewritten
Corrected filter strategy option in FilteredQueryParser
Changed from 'query_filter' to 'query_first'
initial commit
add long field support
use FieldMapper.Names for fieldNames, and not just fieldName as string
add initial field data type support to mappers
hardwired and still happily leaves with current field data impl
add field data service to index level services
add clear when deleting an index for the field data service
move range facet to use new field data abstraction
fix getOrds on single array ords