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.