Update distribute
Rewritten KeyboardAPI using Django-Rest-Framework.

counter.js now expects to GET and POST/PUT to /api/keyboard/, and /api/keyboard/<id>/. These should be set in the project-level urls.py

#Features

##Clean URL structure

/keyboard/ - GET/POST to get or create new keyboards
/keyboard/<id> - GET/PUT/DELETE to get, update or delete existing keyboard

##Tidy dependencies

Javascript pertaining to the counter is now included within the cc_kapi app, rather than in main.

##Robust Test Suite

There is a Test Suite for the API. Reliant fairly heavily on integration tests, but functionality is covered.
Unset old keyboardapi, install rest_framework and new cc_kapi
Set up-to-date urls for the new cc_kapi
Add jquery cookie to allow setting of CSRF headers for the purposes of Ajax Requests
Merged keyboardapi2 and upstream
Test cc_kapi, remove testing of keyboardapi
Merge branch 'master' into keyboard-api2
Bringing this branch up to date with upstream/master
Remove old v1 keyboardapi
Remove validictory - no longer required for keyboardapi, and added django-rest-framework
Fixed missing requirements
Bring keyboard-api2 in line with upstream/master
Fixed missing imports to allow keyboard save
Merge pull request #188 from jvc26/feature/fix-keyboardapi-1

Fixed missing imports to allow keyboard save
Bring upstream changes into keyboard-api2
Override save on keyboard to set_primary() appropriately after save
Include a shim to allow .toISOString() in IE<=8
clear_keyboard() needs to load a correct keyboard structure rather than a blank otherwise remapping fails. Also reindented some code for readability
Initialise keyboard map with realistic data