Arguments create a context from external input, which is assumed to be a
string as though it came from a URL element.
'title' => title
'description' => Description
'keyword' => Default keyword for the context
'context' => Callback to create the context. Params: $arg = NULL, $conf = NULL, $empty = FALSE
'default' => either an array of default settings or a string which is a callback or null to not use.
'settings form' => params: $form, $form_state, $conf -- gets the whole form. Should put anything it wants to keep automatically in $form['settings']
'settings form validate' => params: $form, $form_state
'settings form submit' => params: $form, $form_state
'criteria form' => params: $form, &$form_state, $conf, $argument, $id -- gets the whole argument. It should only put form widgets in $form[$id]. $conf may not be properly initialized so always guard against this due to arguments being changed and handlers not being updated to match.
+ submit + validate
'criteria select' => returns true if the selected criteria matches the context. params: $context, $conf