Use current.configuration instead of configuration in GlobalSettings.

The purpose of the configuration in GlobalSettings is to supply a hook
to modify configuration by overriding it on loading time.
Unless Global doesn't override it, it is just empty configuration.

Use play.api.Play.current.configuration, if you want to read current
configuration.
Add CuratorFrameworkFactory.

This factory reads retry policy from config and starts a new connection
with the retry policy.
Add RoutingTableBuilder.

RoutingTableBuilder will be used by a elected leader to update routing table.
Add RoutingTableLeader.

RoutingTableLeader monitors WorkersPath and updates route table when
worker is added or removed.

Curator LeaderSelector ensures only one leader works at the same time.
Add RoutingTableView.

RoutingTableView will be used to determine whether the request will be
handled in this server or not.
Each server has hashing value and handles range in (hash of previous
server, hash of current server]. If requested hash is in range,
queryServerToHandle method returns HandleHere. Otherwise returns
HandleIn(address).

And this patch also extracts methods, types and a class from
RoutingTableBuilder to package object. Because they are used in both
RoutingTableBuilder and RoutingTableView.
Implement RoutingTableWorker

RoutingTableWorker uses Curator to sync consistent hash routing table.

Worker creates sequential ephemeral node at workers node with
protection mode when it starts. Protection mode is one of the curator
recipie. It addd prefix with client id to ensure that node is created.

Worker watchs routing table node and updates RoutingTable when
routing table node is changed.
Response redirect code when the request is not in consistent hashing range of the server.

If the hash of request is not in current server's hashing range, the
server have to response the address of server that will handle this
request.

If a client receives RedirectStatusCode(currently 310. I just choose one
of the redirection code not used in HTTP protocol.), The client have to
retry the server in response.

This patch also moves hashing method to RequestWithUsername from
BlockAndRequest. BlockAndRequest uses hashing method in
RequestWithUsername.