Merge pull request #53 from m0wfo/master

Fix CLI's inability to handle basic control operations
Refactor how Require, ModuleProvider, and friends.

This adds support for module.id and lays the groundwork for dealing with
cyclical dependencies.
Add support for cyclic dependencies in require() calls.
Add throws test for ClasspathModuleProvider
Add lots of tests for ClasspathModuleProvider
Loosen return type restrictions on ModuleProviders.

Instead of dealing with DynObjects or JSObjects, the ModuleProvider
classes should make no assumptions about the type of object that is
exported. This allows for modules to export Java classes, for example.

    // program.js
    var BufferType = require('java_buffer');
    var buffer = new BufferType();

    // java_buffer.js
    module.exports = me.tiger.tony.Buffer;
Add javascript test module.
Provide a way to clear the module cache programatically