Fixed paths for files excluded from license check

On Windows the paths have backslashes causing any check against the array
of excluded files to fail. To solve this I used the path module to
normalize the file paths in the array of excluded paths for the license
string check.
Merge pull request #633 from satsuper/normalize-path

Fix license header check not passing on Windows
Fix karma.conf.js updating on Windows

Karma.conf.js may contain \r's when checked out on Windows. Cope with
these when updating the karma configuration file content.
Merge pull request #641 from peitschie/win-karma

Fix karma.conf.js updating on Windows
Add SessionBackend abstraction

hides away any assumptions about server class structures from the Editor class
Remove option to configure the member id in local edit mode
Merge pull request #624 from kossebau/sessionbackend

Reduce assumptions about backend in the editor
Ensure a caret doesn't receive any new events after destroy is invoked

Deleting the caret before calling ensures there is no way for any external
sources to get access to the soon-to-be destroyed caret.

As part of tracking this down, scheduled tasks will now throw an error
if an attempt is made to trigger the task (either delayed or immediate)
after the particular instance has been destroyed.

This then showed that functions bound to browser events swallow errors
quietly, so additional logging was added to the EventManager delegation
code to ensure errors generated when processing an event are logged.