Start of new build
Added useful watch to build
Fixed source maps for files
Added rest of js files

TODO figure out code thats only supposed to run a certain pages
build Created a JS build

Here's a first pass at creating a JS build. This is a work in progress,
please don't merge it. I'm looking for early feedback.

I used grunt for the following reasons:
- Because its nodejs, it works well on Windows.
- Its easier to use and understand for node newbies then other tools
such as Gulp.
- There are lots of plugins for it, which *can be easier for node
newbies

* if the plugins actually work.

I used browserify:
- Because its cool.

This build's purpose:
- Keep code consistency by linting.
- Provide framework for unit, integration testing of frontend code.
- Build JS, CSS, image assets.
- Track and enforce certain performance metrics.
- Organize front end files in one place.
- Bundle 3rd party dependencies.
- Provide an easy way for developers to download and work on the
  project.

TODO:
- Unit tests, close to finished.
- Figure out best way to ensure JS code that runs on specific pages
doesn't run elsewhere.
- Add CSS to this build rather the separate. This will be done later
down the road.

Other changes:
- Created a README file for the static dir as its becoming its own
thing.
Added testing using tape and testling to run

Using tapes to write and testling to run the unit tests in a headless
browser.

Eventually can use testling ci for browser tests, but this is not
a requirement.

Also am using sinon js for mocking.

Setup testing for update_percent file as example. This is full DOM
and ajax testing.

Other changes:
* Added a grunt task for timing the whole build. I think its important
that it stays under a certain time.
Further tweaks

* Included a tests setup file for things having to be done across all
tests. Only includes a global change right now for phantomjs
* Remove uneeded packages in package.json.
Cleaned up Gruntfile
Finished up build

I put this in the actual classes/modules, functions. If the required
$element is not there it returns. I'm open to changing this, I think
its something that will also change as this codebase develops

* Added settings to circle ci
* Added env settings of path for test command, to ensure if finds
phantomjs bin locally.
Ensure grunt-cli is installed
Install dependencies correctly

I was incorrectly installing all the dev dependencies of all the
dev dependencies rather then just the dev dependencies.
Circle ci settings change dir

Hopefully this changes them jsut for fonrtend stuff.
Trying this one more time
OK Now I got it
Added jquery as exception to the license
Merge pull request #118 from msecret/build-setup

Build setup