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
LinuxService: check properly if systemd is running

Use a pure Python reimplementation of the [sd_booted(3)][1] function
from [systemd v210][2].

[1]: http://www.freedesktop.org/software/systemd/man/sd_booted.html
[2]: http://cgit.freedesktop.org/systemd/systemd-stable/tree/src/libsystemd/sd-daemon/sd-daemon.c?id=v210#n465
Transform comment into docstring
LinuxService: use the same logic as systemd for appending .service to an unit

There's no need for complex rules to determine if `.service` should be
appended to a unit's name, just do like systemd does.  For more details
see commit [696c245a23d55e4249651573eb9c61b68e61580c][1] and
[`unit_name_mangle`][2] from systemd.

[1]: http://cgit.freedesktop.org/systemd/systemd/commit/?id=696c245a23d55e4249651573eb9c61b68e61580c
[2]: http://cgit.freedesktop.org/systemd/systemd/tree/src/shared/unit-name.c?id=696c245a23d55e4249651573eb9c61b68e61580c#n501
LinuxService: check properly if systemd manages the unit

There's no need to list and look at all the unit files, just check the
[load state][1] of the current unit by running `systemctl -p LoadUnit show`.

This also covers cases like when an unit is masked (which means that
systemd can't start or enable it).

[1]: http://cgit.freedesktop.org/systemd/systemd-stable/tree/src/shared/unit-name.c?h=v208-stable#n52
LinuxService.get_service_tools: check for systemd first

Check for systemd first then for legacy init systems. This simplifies
the code.
LinuxService: d.get(k, None) -> d.get(k)

From the documentation:
> D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.

So there's no need for the `None` parameter.