Implementation of Request/Response system on top of new Controller system.

Request is passed into execute(), and execute() MUST return a Response or there will be an exception.

For now, only Response code 200 is supported and no headers are available.  This will change in a future commit.

As of this commit, the new Module system can be used to properly and cleanly return different content-types for the same URL.  In other words, if you request /mymod/myobject and your request Accept asks for text/html, the view returned from myobject will be passed through Layout as per the usual; but if your request Accept asks for application/json, the destruct system in ModuleController will purposely skip Layout.

This feature is currently in flux as we get it nailed down, but I wanted something out there so we could get started making modules and discovering problems.

Fixes #39; please create new issues if there are any bugs or architectural concerns.