Various code around had different paths for ConsoleKit and logind. Consolidate it by making an abstract class that all callers can use, which hides the implementation details of the two daemons. https://bugzilla.gnome.org/show_bug.cgi?id=682096