4.1.0 Random starred songs, Refactoring

- Changes the "Starred" Auto Playlist so it selects random starred songs
- Adds Bower, Grunt and Karma support
- Changes the directory structure to follow Google's best practice (See https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub)
Updated .gitignore to include dist folder
4.1.1 Fixed minor issue with getRandomStarredSongs
Archive tab fixes
Adds a grunt 'deploy' task to build and deploy through sftp to a test server.

It uses credentials found in the /.ssh folder (gitignored for security reasons)
All our CSS files are now minified and versioned.

Minifies and concat fancybox and jplayer CSS files.
Their images are now "flattened" into the dist/styles folder, so we no longer have a dist/bower_components folder.

The remaining javascript references to images or CSS files are also rewritten during Grunt build so they correctly reference the versioned file.

Merges the previous vendor and vendor2 javascript files into a single file containing all of our javascript dependencies, bower or not.

Removes some unnecessary Grunt tasks.
Removes some unused Grunt plugins.
When deploying to the test server, Grunt now cleans up the folder before uploading.

This is to avoid filling it up with files : since our file names change every time there's a modification (filerev), every time we deployed we would have created a new copy of, say, scripts.min.js
Fixes 'grunt test'. In dev, karma now runs PhantomJS.

Chrome is run during the 'grunt test' task.
Merge branch 'grunt' into develop
Removes jquery.layout files, apparently they aren't use anywhere.
Removes component.json, since we don't use Component.

Corrects the Gruntfile's comments to stick to our structure.
Merge branch 'refactor' into develop
Adds the sortable directive to the song list when displaying a playlist.

This allows to sort the playlist's songs as we want using drag & drop.
Merge branch 'sort-playlist' into develop
Bumps up version to 4.2.0, adds changelog