Remove hard dependency on jQuery.Deferred quirks

jQuery.Deferred objects are not compliant with the Promises/A+ standard.
Replaces Promise#done() (not part of the standard) with Promises#then()

This fixes the jQuery.Deffered dependency discussed in #980.
It also exposes Marionette.Deferred as a means to configure the desired
implementation.

e.g.
```
Backbone.Marionette.Deferred = Q.defer; // kriskowal/q
Backbone.Marionette.Deferred = when.defer; // cujojs/when
```
Add regionManager getAll method.

This allows for a user to perform batch actions on
a set of regions on both the application level and on
the region manager level. Allowing someone to act across
a collection of regions.
Thisify region tests
Merge pull request #1407 from marionettejs/pr/1395

Remove hard dependency on jQuery.Deferred quirks
Merge branch 'sjs/thisify-regions' into v2.0.0-pre.x
Merge pull request #1402 from marionettejs/sjs/1350

Add regionManager getAll method.
Remove unused build file
Merge branch 'sjs/fix-1409' into v2.0.0-pre.x
Cleaned up application spec