Change the background color of body to #fff.

Bootstrap sets background-color: #fff; on the body
Change admin header template to a React component, <Header>.

Also changed to use the style of Bootstrap Dashboard example:
http://getbootstrap.com/examples/dashboard/#
Add require.js.
Add require-jsx.

require-jsx is a plugin for JavaScript files containing JSX.
https://github.com/seiffert/require-jsx
Configure RequireJS to use JSX.

This is required to use React with RequireJS.
Extract Header as a RequireJS module.
Extract TablePanel as a RequireJS module.
Extract LoginForm as a RequireJS module.
Update README.md to describe how to run Beyond
Load React using RequireJS.
Load jQuery and Bootstrap using RequireJS.

Move public/javascripts/jquery-1.9.0.min.js to public/jquery-1.9.0.min.js
because we keep external JavaScript libraries under public directory.
Rename UserActionRequest to RequestWithUsername.

UserActionRequest simply adds username field to the given request using
WrappedRequest. So RequestWithUsername is a better name here.

Play manual uses the same naming convention:
http://www.playframework.com/documentation/2.2.x/ScalaActionsComposition
Add data to .gitignore.

data is used by MongoDB to store databases.
Use -> when creating a tuple.
Change the database name from "admin" to "beyond".

Change the database name to "beyond" because "admin" is the MongoDB reserved
database name used for authentication.

In addition, organize collections using namedspaced subcollections separated by
the . character. Changed "password" collection to "admin.password". This is the
naming convention used by MongoDB.
Add the development version of jQuery 1.9.0.
Add Rhino to SBT library dependencies.
Add Plugin controller to handle all requests coming to /plugin/*path.
Change the check level of NullCheck from error to warning.

We can't avoid using null when calling Java methods expecting null as a valid
value.
Implement a simple plugin system for game logic.

GameLogic allows Beyond users to write game logics in JavaScript. It accepts an
incoming request to the plugin path and returns a response.

This is a proof-of-concept implementation, so plugin path and scripts are all
hardcoded. Also there is no way to register a plugin. More patches will follow.