Large commit which adds edit lock support to journals and suggestions in both admin and editor areas

* provides data model to support edit locking and back-end storage of locks
* interface for adding and removing locks with appropriate authorisation checks
* notification on top right of journal and suggestion pages as to the lock expiry time
* ability to close a page and remove the lock instantaneously
* error page which is displayed to users if they can't get an edit lock on a journal or an application, with information about when they will be able to