TaskProgressShim: clean up duplicate code
TaskProgressShim: use += for conciseness
TaskProgressShim: make nextTaskId per-instance not global

This way it doesn't have to be atomic
SimpleSbtTerminal: add TODO about broken race adding handler too late

To get events for a request, handlers must always be added before
making the request.