Improved Common Dialog

I thought there were some open issues related to this, but I cant seem to find them. Maybe it was just on the forums.

EDIT: found a couple of them. Issue #8 and #134.

I finally figured out what was blocking the commonDialog from getting callbacks from KeePassRPC. It turns out that there are a couple of places that window.setTimeout() is called in json.js. If we use the commonDialog as the window, the the timeout fires like it is supposed to.

So, with that working, I fixed up the dialog with a 'Launch KeePass' button. When KeePass starts, the passwords are loaded and the button is hidden. If KeePass was already loaded, the dialog works just as before. I also fixed up the entry list to be more consistent with the rest of the addon.

Also, because of the way I branched my repo, this includes my other pull request too.