Add Service.call method and improve restarting of services

Currently it's not possible to conveniently call all unit commands from `Service` module as they are defined by `SystemdUnit`. This proposal brings following API:
```ruby
Service.call(:"reload-or-restart", "sshd") # returns true or false

# in case the command has failed with some error
Service.error # some useful message
```

I also added improved behaviour for `SystemdService#restart` to reflect the partial results.