detailed allocation decision

* added detailed decisions for all allocation deciders
* changed discovery node filters to provide detailed match responses
* added explanation level to AllocationExplanation (to determine the level of details in the decisions)
* explanation level is either controlled explicitly or by the allocation logging level (on trace and debug detailed explanation will also be logged)
* removed allocation explanation from cluster state
* changed reroute api to expose the allocation explanation