Clean up std::task docs, make TaskBuilder a real builder

Delete all the documentation from std::task that references linked
failure.

Tweak TaskBuilder to be more builder-like. .unwatched() and .watched()
now consume and return self, as does .named(), which was renamed from
.name().
Update clients of the TaskBuilder API