Merge pull request #2 from mrjoelkemp/master

Container: Documentation and allowing controller to be overridden instead of decorate
Dialog: ported from be.net

Also includes a major refactor
Cleaned up ux/keyboard for style and jshint
Gruntfile
Cleaning up vimrc
Testing harness to use Jasmine
Component test
View tests
Test harness modifications
Controller tests

And fixes for tests
Controller/Dialog/Modal: for accept/reject flows

Prefer using its static init over construction.
Component/Form: formerly Controller/Form rewrite

Synchronous/asynchronous behavior defined. Lifecycle events guaranteed.
Ability to have an array of validators.