Allow systemd units no provided by unit files to be handled.

This allows to query status, start, stop, restart and list units that
are not actually provided by unit files. Such units cannot be
enabled/disabled and that's why those actions still prefer the
"list-unit-files" output over "list-units".

Units that couldn't be handled otherwise include for example mount
units and sysvinit compatibility units such as those present on
debian systems.

The output of a "service.running ssh" state on a debian wheezy target
is:

          ID: ssh
    Function: service.running
      Result: False
     Comment: The named service ssh is not available
     Changes:

after this patch:

          ID: ssh
    Function: service.running
      Result: True
     Comment: The service ssh is already running
     Changes:
Allow systemd parametrized services to be enabled by the service state.

This makes the systemd.get_all function return the combined output of
list-units and list-unit-files and the systemd.available function will
also check for the base unit name stripped of the user parameter
(e.g. dhcpcd@eth0 will be considered available if dhcpcd@.service exists)
Merge pull request #11921 from mtorromeo/systemd-units

Better handling of systemd parametrised and other special units not listed by list-unit-files.