Tests: Support for plugin tests

Plugins can implement own tests.

Added basic tests for ItemSync.

Command "keys" can send key presses to modal dialogs.
Tests: Clean and customize app settings for tests

Allow plugin to initialize settings for its test case.

Added simple test for FakeVim plugin.
Properly close client worker threads at exit
Tests: More info on closing server
Travis CI: Use compiler defined in CXX with qmake
Coveralls: Exclude all 'tests' directories from coverage
Close client socket after worker finished
Tests: More test for FakeVim plugin
Tests: Added tests for switching tabs
Tests: Test adding and editing notes
Server and client sockets moved to different thread
Left, right tab shortcuts should not override editor shortcuts
Switch tabs in window context
Focus editor after switching tabs
Tests: Better error reporting and some fixes
Tests: Print even more info if client process fails
Properly delete socket pointer and check if valid
Use "Delete on close" attribute instead of signals
Always reset result value in ScriptableProxy
Always remove all items if model is disabled