add testing package

fixes #25

- karma, mocha_phantomjs and browser
  test runners are provided by default
- coffescript is enabled by default(this was
  not previously true)
- coffeescript requirejs fixed in production
  build (fixes #45)
- jshint support added(fixes #48)
- generated apps support travis ci out of the
  box via karma

A regression in supporting bootstrap was
added as a result of the branch, a fix will
be provided shortly

/cc @eastridge, @ryan-roemer
- GLOBAL: Use Chai BDD inteface and expect, not assert. Also, don't use should.
- require sinon by using full download instead of bower version(use "sinon": "http://sinonjs.org/releases/sinon-1.7.3.js")
- explain use of node/cjs/es6 style require’s instead of replacing
  with array + nested format(up for discussion, but the array syntax
  + passing arguments to factory function in this particular file
  is either necessary and ugly or unnecessary and should be avoided(I may
  be missing something but this seems so much easier to understand, plus
  it’s inline with how es6 modules will work very soon(conceptually)
- main.karma.js - gain approval of inline docs. Mention caching reasons?
- karma.conf.js - document use of included: false for all files
  but requirejs entry point
Simplify and streamline style pre-processor support

- simplify bootstrap support greatly. Choosing less is now the
  first option(happy path), with note in prompt that says choosing
  less will include bootstrap. no other pre-processor options deal
  with bootstrap either

- add default base.{less,scss,styl,css} based on the pre-processor chosen

- [x] remove commented code in generator support for bootstrap

fixes #60, #12, #44, #46

(included here cause a new PR would just complicate things further)
- [x] /main.js - edit/expand inline documentation

put in public/index.html to keep people form modifying it
karma growl support should not be installed by defualt
- [x] use hbs! or text! for templates instead of pre-compiling

opens up the ability to remove grunt during testing completely(which
really speeds up karma and was the carrot at the end of the stick here)

adds regression - production pre-compiling does NOT currently work with
this commit, exchanging one todo for another

- [ ] compile hbs!templateName during production
- [x] compile hbs!templateName during production

fixes regression from last commit, hbs templates are now required
using bbs!templateName and work without compilation in dev and compile
correctly in production

This opens ability to use karma for testing without grunt at all,
making tests almost a second faster. (it was also part of the original
plan for #25, so double bonus there.
- capitalize on the fact that no compilation step is needed
- karma can now be run alone
- [x] rename grunt phtest to something more clear, perhaps grunt mocha-phantom (even though that's a bit long)
- [x] add grunt test:browser task for only browser tests
- [x] use dots instead of progress
- [x] GLOBAL: Preference for dashed-case names for all Grunt properties.
- [x] grunt changes
    - [x] change copy:baseUrl to copy:prepareBuild
    - [x] rename `grunt phtest` to something more clear, perhaps `grunt mocha-phantom` (even though that's a bit long)
    - [x] add `grunt test:browser` task for only browser tests
    - [x] add coverage reporter
    - [x] add html reporter, hook it up to live reload
    - [x] use dots instead of progress
    - [x] GLOBAL: Preference for dashed-case names for all Grunt properties.
- [x] karma changes
    - [x] karma start will now run karma on it’s own outside of grunt
          completely which is about 1 second faster when saving a
          javascript/hbs/coffee/spec file
- [x] add coverage reporter, mesaures tests coverage across js/**/*.{js,coffee}
README WIP
Merge branch 'master' into testing-support

Conflicts:
	app/index.js
Merge pull request #62 from walmartlabs/testing-support

add testing package