load dbus module automatically at startup, closes #4

change: the script now does not restart pulseaudio anymore by itself.
bugfix: reconnect gracefully to pulseaudio
restructuring: renaming:get_bus() to connect()
added documentation
more code restructuring, more documentation

moved waiting for pulseaudio into own function which is called in init()
added debouncing feature, resolves #6
Simplified by not handling burstState == State.EventOccurred.
Renamed for clarity.