Add explanations for all AllocationDeciders

Relates to #4380
Relates to #2483

Conflicts:
	src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java
	src/main/java/org/elasticsearch/cluster/routing/allocation/decider/EnableAllocationDecider.java
	src/main/java/org/elasticsearch/cluster/routing/allocation/decider/SameShardAllocationDecider.java
	src/main/java/org/elasticsearch/cluster/routing/allocation/decider/SnapshotInProgressAllocationDecider.java