Add custom triggers to :return; now returning a map

Custom evallers of `:result-type :return` can include a `:trigger` keyword
in their options map to specify the trigger to raise upon successful
completion. The default trigger is `:return`.

The data sent to the handler is now a map containing:
`:result` as the eval result, and
`:loc` as the location of the cursor at eval invoke time.