Remove mag-menu-custom-options
Restructure the mag-menu callbacks

There are now switch callbacks in addition to argument callbacks and
action callbacks. The switch and argument callbacks now have free reign
to modify the full set of options however they want.

I added some helper argument callback functions (mag-menu-read-generic
and mag-menu-read-directory-name) to handle common scenarios for
arguments.