Exclude option.

I've introduced a higher order module manipulation constructor called `Module`.  I foresee this construct handling all future transformations we will need.  At the moment I am not fully utilizing it to correctly normalize in all places just yet.  This means intelligence of whether or not to perform a relative or global normalization on a per module basis.  I also foresee this module handling all normalization between `paths`, `map`, `packages`, and `shim`.  The goal is to pass it the minimum amount of information as possible for it to know how to form the correct module or path.

I'm sticking with optimize.js for now in the tests, but I broke out the `optAndRun` method into a separate file in anticipation of more than one test file in the future.  I also added a second argument which is `options` and allows me to start testing some of the various configuration options.