* feat(task): Extract options using AST-based method.
* feat(task): Use AST-based option APIs for updating task option.
* chore(task): Use the old way of parsing durations.
* fix(task): Ordering changed on us. Fixing tests to reflect the new order.
* fix(task): There's no way for us to know if there are multiples with the current APIs.
* chore(task): Guard against duplicate options. Minor cleanup.
* fix(kit/feature): Break cyclical dependency between influxdb and pkgs that use feature.
* chore(task): Feature flag updating Flux options.
* chore(task): Ensure we are testing both paths of feature flag.
* chore: Remove dead code.
* chore(task/options): Remove unnecessary conditional.
* chore(task/options): Unexport some error helpers.
This moves a few types and constants to the global package so it can be
used without importing the `task/backend` package. These constants are
referenced in non tasks-specific code.
This is needed to break a dependency chain where the task backend will
call into the flux runtime to perform parsing or evaluation of a script
and to prevent the http package from inheriting that dependency.
The tasks subsystem will now use the flux language service to parse and
evaluate flux instead of directly interacting with the parser or
runtime. This helps break the dependency on the libflux parser for the
base influxdb package.
This includes the task notification packages which were changed at the
same time.