Run a default hook if the specific hook doesn't exist.

We now support a default hook called (oddly enough) "default-hook".  If a specific hook is missing and the default hook exists, the default hook will be called with the name of the hook as the first argument.

This has been tested live with a tweaked [postgres charm](https://github.com/natefinch/pgcharm).  This charm was tested because it was the first one I found that was all symlinks to a single python script.  Removed all symlinks and made a very minor tweak to the python script to grab the first argument and use it as the hook name.  It works... dare I say... like a charm.
Or alternatively, we could *always* pass the hook name (as opposed to the executable we happened to run) in argv[1]: then we'd have a single mechanism for finding out what we were running that could be used across the board, and thus prevent weird confusion from creeping in if and when code moves around between files.

But JUJU_HOOK_NAME still seems to me to be less abmiguous -- and while it *is* fewer characters to change argv[0] to argv[1], it ends up making the charms more opaque.