Task options now given as map and saved as meta on var

- The task-options! macro now takes pairs of tasks and maps of options
  instead of vectors.

- The task-options! macro now accepts a function in place of the option
  map. The result of applying this function to the current options will
  be merged with the current options map to obtain the new options.