Added initial CasperJS tests, these will test the basic functionality of the app from a user perspective.

Currently the test to check wether a sound has been played on the host page fails, despite the sound being playable.  To test this functionality you need to open a host page, then in a new tab open a client page where you can choose which sound to play, then go back to the original host page to hear the sound.

PhantomJS doesn't have a (straightforward) way to keep a page open in the background while opening a new page.  When returning to the host page, it's unaware of anything that's happened in the past, so does not have any record of a sound having been played.
Merge branch 'dev' into feature/casperjs

# By Pete Goodman
# Via Pete Goodman
* dev:
  added user chat to logs
  users are now being listed and monitored on both host and user pages
  removed unused console.log
  play queue is now being displayed across all connected hosts and users
  now host and client controllers share a common abstract controller
  adding an abstract controller - currently broken...
  moving logging from being manually triggered to being automatically triggered when a change event occurs on relevant models and collections
  added basic logging of activity to the host view
  fixing lint - undeclared var
  users can change usernames, add tracks, their names are displayed in the play queue
  using localStorage to remember usernames
  users can now rename themselves
  added automatically generated usernames
  separated page title from heading so we can display the current id in the title
Allow the noise box app to end itself
Test running casper on a fresh app instance
Start tests on a particular port
Change the format of the args array
Grunt can now start a child instance of node, run casperJS tests and then shut down the node instance.
Merge branch 'dev' into feature/casperjs

# By Pete Graham (15) and others
# Via jedrichards (2) and others
* dev: (31 commits)
  Adding notes about the new config.js file to the README
  correcting the order of the file listing
  build script following sfx symlink
  fixed JS lint issues
  updated readme to contain instructions on adding sfx files
  tweaking the file listing - correct alphabetical order, removing underscores and file extensions. No sound files are in the directory, they're kept seperately. Symlink them in to src/public/sfx
  Removed console.log statments and replaced with new log methods
  packages upated
  clean-up code
  confusing double return removed
  files loading now
  async issue with walk function to get files
  Adding winston logging module
  fileList only loads on refresh
  Fixing package.json
  calling filehelper successfully
  Removing sizeOnly compare mode for production rsync deployment, not reliable
  files data strucutre correct
  walk behaving now
  Adding wiston-loggly to package.json
  ...

Conflicts:
	src/server.js
Tidy up a little
Try and load two windows in CasperJS, to test socket events are working
Package update
Disable Casper debug mode and very broken tests
Convert css to LESS and add a watch task
Merge branch 'dev' of github.com:GuntLondon/noise-box into dev

# By jedrichards (7) and Pete Goodman (2)
# Via jedrichards
* 'dev' of github.com:GuntLondon/noise-box:
  Adding metadata parsing to the sfx in the user route
  added basic track preview mode - fixes #16
  Adding comments to built-in-sfx.js
  Adding sfxDir example field to config.js.sample
  Removing walk from package.json, now using node-dive for recursive directory walking
  Fixed bugs related to merging issue 40
  Added Google Analytics calls for tracking site-wide track plays - fixes #37
  Removing commented out old code
  Adding async/cached/alphabetic sfx list generation.

Conflicts:
	src/public/css/style.css
Merge branch 'feature/casperjs' into dev

# By Mike Allanson (9) and M Allanson (1)
# Via Mike Allanson (2) and M Allanson (1)
* feature/casperjs:
  Disable Casper debug mode and very broken tests
  Package update
  Try and load two windows in CasperJS, to test socket events are working
  Tidy up a little
  Grunt can now start a child instance of node, run casperJS tests and then shut down the node instance.
  Change the format of the args array
  Start tests on a particular port
  Test running casper on a fresh app instance
  Allow the noise box app to end itself
  Added initial CasperJS tests, these will test the basic functionality of the app from a user perspective.
Fix JSHint failures
Add info about the watch task
Merge branch 'dev' of github.com:GuntLondon/noise-box into dev

# By Pete Graham (5) and Pete Goodman (1)
# Via Pete Goodman (2) and Pete Graham (2)
* 'dev' of github.com:GuntLondon/noise-box:
  initial search implementation - refs #17
  good time formatting
  converting seconds to minutes and hours
  further work on python id3 script
  python code to set id3 tags
  music meta data tests