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()`.