Threading can now be disabled with `USE_THREADS=OFF` instead of
`THREADSAFE=OFF` to better support the other cmake semantics.
Nanosecond support is the default _if_ we can detect it. This should be
our default always - like threads - and people can opt out explicitly.
The error handling docs date back to the early error redesign
work and don't match up with the route we actually took. This
brings them in line with actual practice both for external users
and internal implementors, and notes some of the exceptions and
possible bugs.