Fixes behavior of AMD dependencies.

I've installed Sinon via Bower, but I cannot include it into my project without properly exporting the sub modules and attach correctly in the main entry point.

- Switches to Simplified CommonJS AMD syntax which allows code reuse
  with Node.
- Adds define call to each module.

All tests pass.