(current-*) convenience functions

Convenient functions for grabbing information about the currently
playing track.
Multi-argument hook/callback support

Hooks may now be defined to support callbacks with up to 4 arguments.
With Guile 2.0 it would be easy to support an arbitrary number, but this
is somewhat tricky in 1.8 as there is no scm_call_n() function.

run_hook() is now a variadic function.  It should always be called with
NULL as the final argument, even if the hook takes no arguments.
Fix track-info-* segfaults

Fixes segfaults caused by scheme track-info-* functions accessing
null-pointers when the respective struct track_info fields are not set.

If a struct track_info string field is NULL, the corresponding scheme
function now returns "[no tag]".
Multi-argument hook_run_command

hook_run_command now takes two arguments (one for the command name, and
one for the rest of the command) and is documented in the man page.  The
redundant hook_shell_command is removed.
Key-sequence bindings

This extends the keybind system to support key sequences in addition to
simple bindings.  The syntax for a key sequence is <key>[-<key>]*.
Arbitrarily long sequences are supported.
Update fork notes