Ensure REPL handles control chars properly and persist history in memory
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
Add test for anonymous function exports
Fix for DYNJS-110. Add free `module` variable to global namespace.
Update README.markdown

Add Jira link
no synchronization needed
fix unused imports + formatting
use StringBuilder instead of StringBuffer
remove unused class
uncommenting now working tests
organize imports
remove commented code
Merge branch 'cleanups'