Start initial newcmd stuff.
Nicer debug printing of functions.
Lots of fixes for new command system.

Squashed commit:

- Fix getting current URL
- Get rid of *args for hints.
- Make enums work.
- Fix moving commands to utilcmds.
- Fix enums in argparse
- Fix arg splitting for hints.
- Fix default enum args.
- Fix argument splitting for hints if None is given.
- Fix set_cmd_text with flags and fix {url}.
- Fix unittests
- Fix tuple types for arguments.
- Fix scroll-page.
- Fix lint
- Fix open_target.
- Others
commands: Handle ArgumentParser exit.
commands.cmdutils: Clean up decorator.
commands: Add initial --help argument support.
commands.argparser: Make ArgumentParser take args, add name.
Clean up docstring parsing and move it into qutebrowser for commands.
Refactor HintManager.start
Fix lint
generate_doc: Use argparse for command syntax
commands.argparser: Make type tuples a set().
argparser: Also catch TypeError for multitype_conv.
cmdutils: Add default value type to multitype_conv tuple.
Start rewriting manpage generation
generate_doc: Remove unneeded whitespace
Many improvements for generate_doc
Add docstring for :quickmark-load.
Nicer flag output in docs.
cmdutils: Force metavar if choices are given.