Add headers/footers for package.el compatibility
Autoload the iplayer interactive function
support emacs 24

Well this is horrible.  Now that execute-extended-command is in Lisp,
using completing read, (this-command-keys-vector) ends up returing
[13] for a function executed using M-x iplayer RET (rather than the
more useful whole extended command key sequence).  This means that
storing the key sequence for the last command and trying to execute it
later mostly has the effect of adding linebreaks.  (The old code works
if the command was invoked through a key sequence rather than through
extended command; I think this suggests that execute-extended-command
should be modified to update the various key variables/functions
specially, like it already has been for this-command, but that is not
helpful right now).

So, as well, store the function name and funcall that.  Oh, but wait,
some of the functions dispatch on the key sequence used to invoke
them (presets).  So we need to pass the key sequence we were invoked
with back.  That means we need to have a common signature for
iplayer-functions.  This is all so horrible.

But at least now it works with emacs24.  *sigh*.
support other versions of get-iplayer

use --modes=best to avoid errors from not having a particular kind of
stream available.  (I'm not at all clear where the errors come from: I
have never needed this before, but some users do).
avoid using cl primitives

use nth where possible, multiple cars where not
make sure to select window/buffer/frame in emacs24

(much easier than using the emacs23 method)
fix preset-handling code on emacs24

only observable symptom was that £ for Radio 3 didn't work
Allow user configuration of download directory