Changes to mocha mean that a new context is passed to each describe block
instead of it persisting between them.
This means that this test cannot be parallelised, however this was the case
beforehand (subsequent tests are dependent on earlier tests).
- moves project locking into ProjectEntityHandler
- splits ProjectEntityHandler into ProjectEntityHandler,
ProjectEntityUpdateHandler and ProjectEntityMongoUpdateHandler
- adds upsertDoc/upsertFile and upsertDocWithPath/upsertFileWithPath to
EditorController and ProjectEntiyUpdateHandler