Cmd::ID: added base & host property ctor.
System::Context: return canonical ID in initiate() and initiate_pass().¹

1: Needed a way to keep tabs on the command before any stage execution
occurs.
System::Context: replaced done queue with command property in Result;¹ tidy & doc tidy.

1: Without this, there's pointless removal of the command unit
from the done queue when a command completes, because clients
want to handle the result of the execution immediately, without
other commands trampling the state they're somewhat expecting.
The thought is a bit weak when you consider other commands may
be first in line, with a different completion order than you
might've wanted (due to the number of stages required), but it
also introduces pointless buffering in the general case. If the
user needs buffering, they can do it on their own, and context
is no worse off for it. This is a good reminder that explicit
execution is the only way a command can be completed (i.e.,
there're no hidden mechanics.. not counting termination stuff).
Cmd/Ops: reduced property access in stage printing (pedanticism).
System::Context: return proper full ID instead of canonical ID in initiate() and initiate_pass().
System::Context: doc: made push briefs clearer; tidy.
System::Context::Output: added is_broadcast() and doc group names.
Cmd::Stage: made clone() const.
System::Driver: added Anchor object type registration.