remove cruft from remove_command
implement blocking compatibility layer

the original tulip branch's MPDClient gets renamed to AsyncMPDClient
(whose methods still behave yieldably), and the new MPDClient uses the
tulip implementation to implement the original blocking commands as well
as fetch_/send_ and iterate.
Revert "adapted some examples"

due to the new compatibility layer, the old examples can be used as-is.

This reverts commit d98e3c6ad661af7870a634a9f5fa53d6e38e4c21.
compatibility layer bugfixes
adapted gtk example
logging bugfix
implement command lists for compatibility mode
refactor away undocumented use of private variable