doc: removed old doc/pages/Cmd/Generic.dox; tidy.
Log: renamed report_error(std::exception_ptr) to report_error_ptr().¹

1: To solve a yucky declaration collision situation with clients that
want the same reporting interface.
System::Context: changed class to be non-final.¹

1: To lessen boilerplate when the "context" needs to be extended
to other application-specific classes.
IO::Datastore: added type_info property and param to ctor.¹

1: For userspace logic. Neglected to do this when adding type_info.
IO::Datastore: added create_if_nonexistent param to open().¹

1: Most straight-forward way to facilitate creating new datastores.