Test clock: clean up any existing clocks before starting a new one
toHaveBeenCalledWithInstanceOf
Remove Events#off return value

- because we don't need it,
  and it makes us deviate from the Backbone.Events interface
Fix mapbox-amd module

- Use correct global variable name
- Throw errors if dependencies are not defined.
MockFactory#withName

- sets jasmineToString value, for pretty-print error messages.
MockRequire support CommonJS format
Promise#map, Promise#proxy
Build: Do not override global aeris

- in case of multiple builds on a page.
- _.expose will already handle assigning `aeris` to
  the global scope
Update License copyright year
Fix bower package name

- published name is aerisjs, not Aeris.js
Ignore /grumblejs dir

- for local dev environments, if you want to nest the grumble.js
  repo inside of aeris.js
AerisBatchModel: Remove duplicate api keys from query string

Fixes AJS-422
Update Aeris.js version to v0.7.14
Only require MapBox.js when a MapBox layer is created

instead of when the leaflet MapBox strategy is loaded.

This allows users to only require MapBox.js if they are using
an aeris.maps.layers.MapBox layer.
Docs: fix Aeris.js cdn paths
_.tryCatch
whitespace
Organize Gruntfile

- split up config into several files
minor: edit demo-rc task description
Install grunt-replace npm package