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)
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)