Ignore empty parts when calculating cursor part.

Fixes #389.
User now asked if it wants to overwrite existing file.
Fix #318
Refactored question logic.
Don't filter completion parts if there's only one.

This fixes a regression (completion not showing with :) introduced in
b1501a691db43b99bf10c78bf1c85507904d4caa.
Rewrite keymode handling to use only one mode.

Fixes #417.
Fixes #418.
See 4ab5d2df28f7f999882034442d3a8f1b1dce0fce.
Re-focus web view when leaving prompt/yesno mode.
Display IPC errors to the user.

Fixes #337.
Fix mode handling with multiple javascript prompts.

This fixes a regression introduced in 03ac8874ff3036069c72e96f6268235a34b26ea2.
Merge branch 'master' of https://github.com/shaggytwodope/qutebrowser into shaggytwodope-master
Change some troubleshooting answers.
Regenerate authors
Merge branch 'shaggytwodope-master'
Merge branch 'prevent_downloading_existing_file' of https://github.com/oed/qutebrowser into oed-prevent_downloading_existing_file
Pass window id to DownloadItem.
Regenerate authors
Merge branch 'oed-prevent_downloading_existing_file'