[silverwood] Split workstream creation into register + checkout master
`silverwood new basic` gains a required `--checkout-extent full|skip`. `full` is the existing behavior (register, then provision the checkout before returning). `skip` registers the workstream and returns immediately, leaving the checkout unprovisioned in a new `CheckoutState::InitializedWithoutCheckout` state — distinct from `pending` (actively provisioning). A new `silverwood workstream <ID> basic checkout` subcommand provisions a skipped workstream: it validates the kind is basic and that the workstream is still awaiting checkout (else `Error::NotAwaitingCheckout`), then runs the same pending -> ready/failed provisioning. In core, `Forest::create_workstream` is split so precheck (validation) runs for both extents while provisioning is gated on the extent, with a shared `provision_checkout` tail reused by `checkout_workstream`. Because validation still happens at register time, a `skip` create rejects a bad seed synchronously while deferring the slow clone/copy — the accept boundary papyrus needs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>