Link URI re: issue 486

The proposed changes address the silent failing of adding a link to an unrecognized URI. They allow the user to correct any potential mistakes made to the initial address through a prompt dialogue. 
I guess if we want to make sure user input is valid, we should use `nsIOService` (@dstillman this can only be used on the main thread, so I'm not sure if you would have an issue with that). Use:
```
this.cleanAttachmentURI = function (uri) {
  if(!this.ios) {
    this.ios = Components.classes["@mozilla.org/network/io-service;1"]
      .getService(Components.interfaces.nsIIOService);
  }
  try {
    return this.ios.newURI(uri).spec; // Valid URI if succeeds
  } catch (e) {
    if(e instanceof Components.Exception
      && e.result == Components.results.NS_ERROR_MALFORMED_URI
    ) {
      // Assume it's a URL missing "http://" part
      try {
        return this.ios.newURI('http://' + uri).spec;
      } catch (e) {}
    }
  }
  Zotero.debug('Invalid URI : <' + uri + '>');
  return false;
}
```