Provide Marionette objects as individual UMD modules

#### [Play with it here](https://github.com/jmeas-test/test-umd-modules)

Resolves #1332 

This allows for users to pick and choose the Marionette classes they want to use. This updates our build system to transparently bundle each class as a UMD module.

```sh
# build everything, including the components
grunt build
```

Usage:

```js
// Always pull in the core library
var Mn = require('marionette/components/core');

// Then any classes you want to use
var ItemView = require('marionette/components/item-view');
```

:tada:

=====

Caveats of the playground repo above:

– I don't test Behavior/Behaviors classes
– I *only* test initialization. So if a dependency is used in a particular function, that error won't be caught

Please take a look through all of the source files to see if I missed any dependencies. Do remember that the helper methods like TriggerMethod, and the Error class, are all loaded when you load in the core.
can someone give me a quick refresher on what the paths here are relative to?