Created generic setup class so as to minimize boilerplate, changed to using notify2 for dbus notifications rather than rely on subprocess call to notify-send, switched to using platform module to check which distro we're on rather than rely on uname. Other minor additions that may or may not stay.