Refactor Gruntfile to dev vs. dist builds

This sets the stage for better automated testing and consistency across
browser vs. CLI tests.

More to come soon.
Extract configuration to options files
Load browser-dependencies from bower
Implement es6 modules with 'globals' configuration
Configure ES6 modules for UMD
Update examples and point them to dist version
Autoload npm grunt tasks
Convert task options to CoffeeScript
Return to using npm for deps

Since the main Bacon dependency is named differently in bower vs. npm,
we can't easily require("bacon") and get the Bower dep. Therefore it's
going to be easier to just use npm and be done with it, like we were
before.
Use grunt task for running unit tests
Setup working browser tests
Add task for running integration tests
Set browser tests to only run once
Remove browsertest folder as karma does this now
Setup grunt task for releasing new versions
Add missing options file
Remove scripts replaced by grunt tasks
Add back NPM scripts
Add phantomjs as a dependency
Capitalize Bacon, always messes me up