Rename FunctionCall to InvokeFunction.

Use imperative verbs in messages to be consistent with exisiting messages such
as Handle.
Create GamePluginWorker.

Make GamePlugin create GamePluginWorkers (n = number of cores) and delegate
tasks to them. GamePlugin is the supervisor of GamePluginWorkers.
Change UserActionActor timeout to beyond.request-timeout.

If UserActionActor does not complete the future, ask will expire after the
timeout period, completing it with an AskTimeoutException. One second is too
short. Use beyond.request-timeout instead.
Make it easy to read Beyond configurations.

Currently, reading a configuration is too verbose. Simplify reading
a configuration by providing helper methods in Global.
Log Beyond start and stop.

Use Scala Logging's StrictLogging trait to log Beyond start and stop.
Handle AskTimeoutException.

Return a response with InternalServerError status code when AskTimeoutException
is thrown.
Change Plugin timeout to beyond.request-timeout.

If GamePlugin does not complete the future, ask will expire after the timeout
period, completing it with an AskTimeoutException. 10 seconds here is too
arbitrary. Use beyond.request-timeout instead.