swallow less errors in task components ref T37568

not a perfect long-term solution. That probably involves more
usage of completable futures, blocking close calls, and/or
letting sources elect to push bundles rather than use map-feeder
polling.

One clear symptom of this is that ASFDS worker threads have no
reliable way to report errors that occur while one of them is
calling shutdown, and so have no option other than to halt the
jvm. In fact it also looks like there can be a race condition
causing the jvm to finish exiting prior to shutdown completing
when a SIGTERM is handled after ASFDS has just started to exit
on its own.

However, this is a vast improvement for the short term (barring
any serious mistakes).
prevent interrupts in sendComplete ref T37568

implementors of sendComplete (bundle outputs etc) have no great
options for handling interrupts. They can:

- propagate as a runtime exception
- restore the interrupt state and immediately exit (in a possibly
  undesirable state)
- use uninterruptible idioms to ensure proper execution and then
  restore the interrupt state afterwards

the last is the most correct, but the first would also be acceptable
in terms of correctness. The issue is that although the second choice
is closest to what is normally the most correct, it is never what we
actually want. (The most correct is typically either propagating the
exception or restoring the interrupt and returning some sensible value).

the chief instigator of this fix is TreeMapper whose sendComplete
involves closing a concurrent tree, whose closing involves BDB operations
in the closing thread. BDB has terrible interrupt handling. Due to the
previous commit this is no longer silently swallowed, but it would be
nice not to needlessly error the job either. Arguably, this is TreeMapper,
ConcurrentTree, and/or PageDB's failing, and by preventing any interrupts
at all we are limiting the ability to short-circuit optional (and maybe
long-running) logic during sendComplete -- such as Tree Pruning. Therefore,
this may change in the future, and we should neither promise not to
interrupt in this cases in the docs, nor encourage implementors to badly
handle them, but this suffices for now.