The IsActive() method returned true even if the timer was not active,
after it completed once. This broke the state file timer, and the
state file was not saved periodically.
This change adds two configuration options:
--with-eventloop=[glib|internal|auto]
--with-pollmethod=[epoll|auto]
First allows switching between GLib event loop and internal one.
Second chooses backend to use for internal event loop.
Conditional compilation symbols are changed accordingly.
Additional helper macro MPD_OPTIONAL_FUNC_NODEF is added as well.