fixed hunspell test to clean up properly, this time, for realz
Changing non-nested object mapping to nested should fail

Fixes #2518
check on sourceRef, so it won't convert to bytes without needing to
remove problematic timeout test
the timeout feature, even if set to 0, might still mean we get an ack back...
add plugin configuration to make m2e ignore maven dependency plugin configuration that it cannot handle
add refresh before calling count
upgrade to netty 3.6.1
return the string for date types if passed for search
noramalize the value even when getting it from source
we need to in order to properly handle bytes, and normalize Integer to Long for example for consistency, the fact that mappers now handle different Objtes help here
Binary Mapped Fields: Allow to not store them by default, and return BytesReference
fixes #2523
also, fix another point of normalization of the result for get API
add read/write optional text
cleanup queryHint since its not was never used
preference ended up as the way to control routing
Comments are not allowed in mapping
checked jackson, there won't be an overhead in enabling comments. Added, with the caveat that when used with mappings, and calling "get mapping", the comments will not be returned
closes #1394
Fixed document already exists error when concurrently sending update request with upsert using the same id.

Closes #2530
Fixed issue where parent & child queries can fail if a segment doesn't have documents with the targeted type or associated parent type

Closes #2537
Disallow unknown custom indexing parameters

Fixes #2354
Make script cache configurable and bounded

Fixes #2539
Fix char filter issues introduced during lucene 4 migration

Fixes #2543
Added BalancedShardsAllocator that balances shards based on a weight function.

 * Weights are calculated per index and incorporate index level, global and primary related parameters
 * Balance operations are executed based on a win maximation strategy that tries to relocate shards
   first that offer the biggest gain towards the weight functions optimum
 * The WeightFunction allows settings to prefer index based balance over global balance and vice versa
 * Balance operations can be throttled by raising a threshold resulting in less agressive balance operations
 * WeightFunction shipps with defaults to achive evenly distributed indexes while maintaining a global balance

Closes #2555
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