Add STATUS_CODES to response.js.

A collection of all the standard HTTP response status codes, and the short
description of each. For example, `http.STATUS_CODES[404] === 'Not Found'`.
The code is taken from node.js.
Add ScriptableResponse.

ScriptableResponse will be used JavaScript code to create a HTTP response.
Currently, it only takes a String argument. Other arguments such as HTTP status
code will be added later. The status code is hardcoded to 200 for now.
Change the default messsage of main.js to "Hello World".

Currently, an empty string is returned. This is confusing because it shows
nothing on the page.
Support asynchronous response generating with Future.

This patch checks if the return type of handler function is Future and
processes if appropriately.
Refactor ScriptableRequest.

- Remove unnecessary type parameter from ScriptableRequest.
- Move the constructor of ScriptableRequest to the companion object.
This is the style used by other Scriptable classes.
Handle map.get(key) properly.

map.get(key) returns an Option value so it can't be null.
Convert ScriptableRequest.getHeaders to ScriptableMap.

This makes it easy to access headers in JavaScript code. Currently, it does not
support hasOwnProperty(). Need to investigate why.
Add bodyAsText getter to ScriptableRequest.

bodyAsText returns the body as text if the content-type is "text/plain".
Otherwise, it returns an empty string.

Change Request[_] to Request[AnyContent] because we use only AnyContent for
now.
Add bodyAsFormUrlEncoded getter to ScriptableRequest.

bodyAsFormUrlEncoded returns the body as a map if the content-type is
"application/form-url-encoded". Otherwise, it returns an empty map.