wait until cluster-state is ready after startup
Increased timeout in ClusterServiceTests.testTimeoutUpdateTask to 100ms

The previous 2ms timeout was too small and caused a racing condition in timeout handling. This will be fixed but requires more work.
Cat API: Add endpoint to show aliases

This endpoint allows to check aliases, their indices, if a filter is
configured along with routing values for searching and indexing.

Closes #4414
Optimizes performance of AllocationDecider execution. Instead of using loops over all ShardRoutings, do accounting in RoutingNodes.
Speeds up recalculating cluster state on large clusters.
Improve RoutingNodes API

Currently the RoutingNodes API allows modification of it's internal state outside of the class.
This commit improves the APIs of `RoutingNode` and `RoutingNode` to change internal state
only within the classes itself.

Closes #4458
Reset source shards to `started` if canceling relocation.

Currently we miss to reset the source shards status to ACTIVE if we cancel
a relocation. If the shard is RELOCATING we need to reset to state ACTIVE.

Closes #4457