re-factor rh_service.py

This re-factor of rh_service.py is intended to fix the problems documented in #5907 and others.  Among the changes made are:

 * the services cache is no longer used or needed
 * most functions no longer require running a full `chkconfig --list`
 * init-scripts that aren't compatible with either chkconfig or upstart should still be usable (although `enable()` and `disable()` don't work because we don't know where in the execution order to put them
 * `chkconfig --add` is run if needed for chkconfig-compatible custom init-scripts when enabling or disabling them
 * added `available()` function to query availability of service without using `get_all()`