core: move ControlGroup and Slice properties out of the dbus "Unit" interface

Slice/ControlGroup only really makes sense for unit types which actually
have cgroups attached to them, hence move them out of the generic Unit
interface and into the specific unit type interfaces.

These fields will continue to be part of Unit though, simply because
things are a log easier that way. However, regardless how this looks
internally we should keep things clean and independent of the specific
implementation of the inside.
scope: properly implement passive validity checking of PIDs field when creating transient scopes
core: parse Slice= from the unit type specific unit file section

Since not all unit types know Slice= it belongs in the unit type
specific unit file section.