Shutdown Beyond when handler function is not found.

Escalate if the root cause of ActorInitializationException is
NoHandlerFunctionFoundException.

ThrowableOps is introduced to add getRootCause method to Throwable.
Change RuntimeException to Exception.

There is no need to use RuntimeException because Scala exceptions are unchecked
anyway.
Add jline2 to SBT library dependencies.

JLine is a Java library for handling console input. It is similar in
functionality to BSD editline and GNU readline:
https://github.com/jline/jline2
Don't show password in plain text.

Use jline's ConsoleReader.readLine(Character) which reads the next line with
the specified character mask.
Add tab completion of action names to GameClientConsole.

Use jline's Completer to support tab completion of action names.
Make GameClientConsole take the base URL as an argument.

If no base URL is given, http://localhost:9000 is used by default.
Get the list of action names by parsing routes file.

Don't hardcode action names in GameClientConsole. Instead, parse routes file
and get the list of action names for auto completion.
Introduce BeyondJavaScriptEngine.

BeyondJavaScriptEngine is responsible for execution of JavaScript.
Make GamePluginWorker take an instance of BeyondJavaScriptEngine.
Extract initialization of BeyondGlobal as init method.
Make it possible to pass a BeyondGlobal instance to BeyondJavaScriptEngine.
Add BeyondShellGlobal.

BeyondShellGlobal is a subclass of BeyondGlobal which provide additional
features for shell console. Currently, only quit is added.
Add JavaScriptShellConsole.

JavaScriptShellConsole is an interactive JavaScript shell.
Make it possible to set an ErrorReporter to BeyondContextFactory.
Use TotalErrorReporter in JavaScriptShellConsole.

TotalErrorReporter intercepts exceptions and prints them to stderr.
Add tab auto-completion to JavaScriptShellConsole.
Add util.format API.

It has the same placeholder with the util.format of node.js.
The callback function of replace is copied from node.js.
See https://github.com/joyent/node/blob/master/lib/util.js

And this patch also adds plugins/lib to plugin path.
Add console library.

The console has five methods(log, info, warn, debug and error).
Those method have to be implemented with variable length argument but
rhino cannot passes variable length argument to Scala native object,
because Scala implements variable length argument with Seq but rhino
doesn't know about Seq. So console passes one string converted with
JavaScript.
Add event.track API.

This API is for logging game event with JavaScript.
The first argument is tag, and others are messages.

The messages are logged in the one of the four form.
 - Object -> message itself.
 - Only one message -> { "message": message }
 - Multiple messages -> { "message": [ message1, message2, ... ] }
 - No messages or message are null or undefined -> {} (empty object)
Make GameEvnet print tag.