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