Default directive function.

The default directive can now take a function as first argument, which
means that if there is input, but it does not match a command, the
default function is called with all input.
Merge branch 'default-function'