Modernising lscache

This adds https://github.com/pamelafox/lscache/pull/26, https://github.com/pamelafox/lscache/pull/21 and https://github.com/pamelafox/lscache/pull/25 in a single, tested, pull request.

- Move tests to their own directory
- Move tests to an external file compatible with AMD/CJS
- Use grunt to minify and run jshint
- Use browserify to the test commonJS support
- Minified version
- Fix jshint warning
- Add commonJS support (checking for `module` first)
- Add a grunt task to bump the versions (use grunt bump or for major/minor versions: https://github.com/vojtajina/grunt-bump#usage)
- Add bower support with ignore list
- Move demo to its own folder to allow for further docs/examples in the future
- Keep compatibility with current setups by keeping `lscache.js` at the same address.
- Add `.gitignore` to not include `node_modules`

Overall, this PR should make maintaining the project a little easier thanks to the automating done through Grunt.

First run `npm install` then run `grunt`. It will install all the dependencies and grunt will get the files through jshint, minify them and generate a bundle with browserify for testing.

Once the PR is merged, the repo will need to be tagged `1.0.0`. Later one, after a PR is merged or a change has been made, `grunt bump` can be run to automatically tag the next version.