netctl service support

Arch Linux's neworking support uses a wrapper for systemctl services called netctl. netctl services need to be enabled via a wrapper to systemd rather than invoked directly.

Some other enhancements are made in the course of supporting this robustly: run_command() is given to accept tuples as well as the already-supported lists and strings, and Service.execute_command() is granted the ability to pass keyword arguments through to run_command(), which is used to pass `check_rc=True` through for systemd services. (This is kept off for other service backends due to inability to test, though it probably should be turned on in at least some subset of them if not on-by-default).