code: support destroying namespaces

Includes the ability to completely reset all namespaces, a cleanup of
the code, some other bugfixes, and additional tests for namespace
lifecycle management.
docs: rewrote README to include new functions

Also synced docs up with the much-improved documentation from the
now-doomed core PR for CLS.
Added namespace destructor and improved docs.