dir/server/tree: clean up and simplify test
dir/server/tree: clean up and simplify test

The reader attempts to read numEntries even if they're not
yet written. This is to exercise extreme concurrency reading
the tail of the file. So, when a t.Fatal error happens, some
readers might not be informed that there was an error and that
therefore the entries will never be read. This made the entire
test wait for readers that would never complete.

The fix is to have an atomic boolean to inform readers that the
test has aborted.

I verified this does not lock up tests anymore in case of errors
by reverting the fix from a previous CL and include this logic.

Also cleaned up the initial synchronization of the goroutines as
per Andrew's suggestion.

Change-Id: If43f2679f28cf2372f292224273f8a921030991e
Reviewed-on: https://upspin-review.googlesource.com/8542
Reviewed-by: Andrew Gerrand <395a7d33bec8475c9b83b7d440f141bcbd994aa5@golang.org>
Reviewed-by: David Presotto <d244755566b06d4c956c05eb7fe29c9fb345f41e@gmail.com>
Reviewed-by: Rob Pike <4dc7c9ec434ed06502767136789763ec11d2c4b7@golang.org>

upspin/upspin,upspin/upspin