js: Error handling for browser errors
- Connection.js
- Add some meaningful nativeMessaging feedback for failing communication due to misconfiguration or other browser-originated fails
- add an "isDisconnected" property
- "isNativeHostUnknown" tries to match browser's feedback string if the browser does not find gpgme-json
- init.js
- initialization will now reject with a more meaningful error if the configuration is not set up or other browser-based errors (chrome.runtime.lastError) are present. This should speed up the normal initialization (not having to waiting for a timeout any more in case of improper setup)
- errors.js
- CONN_NATIVEMESSAGE: New error that passes the browser's nativeMessaging error
- CONN_NO_CONFIG: native messaging error indicating that the nativeMessaging host was not set up properly
- unittests.js:
- added the "isDisconnected" property to the startup tests
- added tests for proper behavior of connection checks