Add Vomnibar.activateEditUrl commands

Often times when I'm working on sites I want to add a query string or
modify the port number. The go up one level or root of the URL commands
are nice but they don't alow you to add or remove specifics on the
current URL.

This adds two commands that act exactly like the normal onmibar open but
populates the bar with the current URL.

I picked `ge` as the default and `gE` as the default for the same in a
new tab.
Added feature to download links
Update link_hints.coffee
Structured passkeys, internally and on the options and popup pages.
Fix regression: reinstate confirmation dialog for restoreToDefaults
Retain excludedUrls setting, so testers can revert to previous versions.
Structured exclusion rules: Fix typos and minor issues.
Structured exclusion rules: Simplify isEnabledForUrl.
Structured passkeys; changes following code review; major rewrite of options.
Add some style advice

These represent common feedback given on PRs
Add some guidelines for PRs
Clearer reset-to-defaults confirmation message.
Merge pull request #1154 from smblott-github/passkeys-structured

Structured exclusion rules internally, and on the popup and options pages.
Merge pull request #784 from deiga/patch-3

Add links-hint mode to download links
Merge branch 'feature/edit-url-in-vomnibar' of github.com:sukima/vimium into sukima-feature/edit-url-in-vomnibar

Conflicts:
	background_scripts/commands.coffee
Check chrome.runtime.lastError to fix error in chrome.runtime.lastError
Add noRepeat to relevent frontend commands

The use of Vomnibar commands with a numerical prefix > 1 is broken and
non-trivial to fix. This patch introduces the `noRepeat` property for
frontend commands, applying it to all Vomnibar commands and several
others.
Prompt for confirmation when executing large numbers of repeats

Implement `repeatLimit`, to prompt for confirmation before repeating a
command a large number of times, and apply it to tab creation/deletion
commands.
Add sessions permission to manifest.json

Fixes tab restoration
Fail gracefully in restoreTab when runtime.lastError is set

This brings behaviour of the chrome.sessions codepath in line with the
legacy code.