support for catching errors when resolving values, and test where time-limited access is passed in as a config value and retrieved
introduce WeaklyPresent in maybe using weak references, and use that for streams so that large streams attached to tasks don't cause leaks;
also use a strongly typed tag for effector tasks, including entity information
big change to garbage collection, doing a much better job of keeping a balanced history of tasks -- the primary limit is now on tag,
each tag is allowed to have by default 50 tasks; coupled with new EffectorCalllTag for entity+effector_name, this means we keep
effector calls much longer. (the overall defaults have been increased also, for history to 30 days, and a new per-entity limit of 1000 tasks.)

other miscellaneous cleanup to tasks also, fixing the leak for DST internal jobs, and simplifying how task-completion callbacks work
(so attempting to get() a result in a callback will not deadlock!)
use an internal proxy on tasks so that sub-tasks submitted by the internal job show up as submitted by their parent,
making it easier to GC the right things and show the right things in the dashboard;
also tweak how sub-tasks are cleaned up.  works nicely in gui now!
This closes #167