Refactor javascript with new unit tests, Grunt build system, and TravisCI testing

This brings Uni-Form up to date with new JavaScript build and testing tools. This introduces both Grunt and Travis into the project.

1. Add new Gruntfile.js with build and testing commands.
2. Add new TravisCI configuration and a build status at the top of the README
3. Add new [QUnit testing][qunit] for the validation and form behaviours.
4. Refactor the JavaScript code to be a bit cleaner and more extensible. 

To get settled in with these changes, you'll need to [install Grunt][grunt]. If you haven't installed NPM before, you'll need to [install NodeJS][node] first. Once you've done that, you can:

    > npm install
    > grunt

This will run unit tests, and create new distribution files in the /dist folder. I'll update this repo in the very near future with some docs about the Grunt commands. For now:

* `grunt` default command will prepare a build
* `grunt watch` compile resources anytime you've changed css or js files
* `grunt test` run the QUnit tests inside a headless [PhantomJS] browser.
* `grunt jshint` check the JavaScript files for style and lint errors. 

You'll find some new files in the `/dist` folder. These are the files that users should use. The JavaScript files are build from source, and presenting in a single file format, and in a minified format. That folder also has a css file in it. We're combining the files in /css into a single file and minifying it. We can change these paths to suit you, just let me know.

Note that when we build the files in /dist, we're appending a new copyright banner to the top of the file, you can see this in the Gruntfile in the banner configuration around [line 18][banner].

[qunit]: http://qunitjs.com/
[grunt]: http://gruntjs.com/getting-started 
[node]: http://nodejs.org/
[phantom]: http://phantomjs.org/
[banner]: https://github.com/there4/uni-form/blob/travis-test/Gruntfile.js#L18