Make `pip install -e` work

This allows `pip install -e` and `python setup.py develop` to work
without having to do the stuff in
http://docs.ansible.com/intro_installation.html#running-from-source so
it's a tad nicer for Python programmers who are accustomed to installing
packages as editable/in development mode.

Fixes GH-8355 (https://github.com/ansible/ansible/issues/8355)
Fix vault_password positional args error
Fixing variable name bug introduced in ac8950f

Fixes #8617
Fix host pattern matching and enhance error detection

Fixes #8614
Use match() instead of search() for pattern matching

Also related to f48fa3, fix for #8614
Load group_vars for new groups loaded via add_host

Fixes #8605
Catch error in atomic_move when creating temporary file

Fixes #8480
Disallow args: to be specified as a string
Fix fonts in docs: Incosolata -> Inconsolata
Merge pull request #8367 from msabramo/make_pip_install_editable_work

Make `pip install -e` work
Merge pull request #8635 from RockinRoel/devel

Fix fonts in docs: Incosolata -> Inconsolata
Make env param a dict type instead of list

Also modifies param type checking code to remove whitespace from
around params before splitting them into k=v pairs.

Fixes #8199
Make code more PEP8 compliant (if(x))

Remove useless parentheses, `if (x):` should be `if x:`.
Make code more PEP8 compliant (whitespace)

> Always surround these binary operators with a single space on either
> side: assignment (`=`), augmented assignment (`+=`, `-=`
> etc.), comparisons (`==`, `<`, `>`, ``!=``, `<>`, `<=`,
> `>=`, `in`, `not in`, `is`, `is not`), Booleans (`and`,
> `or`, `not`).
Make docker inventory plugin more Pythonic

There's no need to check if kwargs is empty before iterating over it.
Refactor CronTab.is_empty
Make code more PEP8 compliant (if len(seq))

> For sequences, (strings, lists, tuples), use the fact that empty
> sequences are false.
>
>     Yes: if not seq:
>          if seq:
>
>     No: if len(seq)
>         if not len(seq)
Subversion._exec: rename args parameter to args_list

`args` is usually used for optional parameters as `*args`. This is not
the case here.

Also the hg and bzr modules use `args_list` instead of `args`, so this
will bring consistency.