Fix a typo.
Remove unnecessary import.
Extract UserActionActor to a seperate file.

Currently, UserActionActor and UserAction are in UserAction.scala. This patch
extracts UserActionActor to UserActionActor.scala.
Add UserActionSupervisor.

Introduce UserActionSupervisor and make it supervise all UserActionActors. It
keeps the routing table and passes it to UserActionActors.
Make UserActionActor retrieve the routing table from UserActionSupervisor upon restart.

Currently, once UserActionActor is restarted, UserActionActor has a invalid
routing table until RoutingTableWorker notifies. This patch makes
UserActionActor request the routing table to UserActionSupervisor when it
restarts.
Make routingTable private.