Install require and load GamePlugin scripts from the file system.

- Install require() function in global scope using Global.installRequire
  method.
- Load GamePlugin scripts through require.requireMain method from the directory
  specified by beyond.plugin.path in application.conf.
- Make GamePlugin export its handler function through exports object.
Replace Global with BeyondGlobal.

- org.mozilla.javascript.tools.shell.Global is too powerful for our purposes.
  Create our own Global which provides only defineClass and seal functions.
  These two functions will be used to implement Beyond JS modules.
- Extract implicit conversion functions into RhinoConversions.
Use ContextFactory.call instead of ContextFactory.enterContext/Context.exit.

It is easy to forget to call Context.exit in finally. Use the loan pattern
provided by ContextFactory.call.
Remove 'result' binding to store an intermediate result in GamePluginImpl.handle.
Setup ReactiveMongo Play plugin.

- Add ReactiveMongo plugin to SBT library dependencies.
- Add ReactiveMongo plugin to conf/play.plugins.
- Add MongoDB server list and DB name to conf/application.conf.
Use MognoReactive Play plugin.

- Get rid of MongoDB connection setup in Global because it is automatically
  handled by MognoReactive Play plugin.
- Refactor Admin with MongoController and JSONCollection.
Introduce AdminUser model with Json.format.

Json.format provides an implicit conversion from JsObject to a model class.
Rename LoginData to AdminUser and use it to retrive admin users from DB.
Eta reduction.
Omit parens in Runtime.getRuntime().

Methods hat follow JavaBean naming contract for accessors are expected to have
no side effects. The recommended convention is to use a parameterless method
whenever there are no parameters and the method have no side effect.
Reimplement ZooKeeper "stat" command with akka.io.

- Instead of using FourLetterWordMain.send4LetterWord which is blocking,
  implement non-blocking "stat" command with raw akka.io.Tcp.
- Adjust timeout and delay values: 30 seconds for server not responding
  timeout, 10 seconds for initial delay, 5 seconds for retry delay.
- Remove PinnedDispatcher from ZooKeeperLauncher because our new implementation
  is fully asynchronous.
Use the singular form of time unit for one second.

scala.concurrent.duration.DurationConversions trait provides both singular and
plural form of each time unit. Use second instead of seconds for 1 second.