shipper-core 0.3.0-rc.2

Core library behind the `shipper` CLI: engine, planning, state, registry, and remediation primitives for `cargo publish` workspaces.
Documentation
# Module: `crate::runtime::execution`

**Layer:** runtime (layer 2)
**Single responsibility:** Shared execution primitives — backoff, error classification, package keys, state update locks.
**Was:** standalone crate `shipper-execution-core` (absorbed in this PR).

## Public-to-crate API

- `backoff_delay`
- `classify_cargo_failure`
- `pkg_key`
- `update_state_locked`
- `update_state`
- `resolve_state_dir`
- `short_state`

## Invariants

- Pure functions where possible.
- `update_state_locked`: caller must hold the appropriate lock before calling.
- `update_state`: mutates in-memory state, then persists; callers must tolerate the case where the in-memory mutation occurs even if the persist fails (known behavior, covered by tests).

## Internal microcrate dependencies (transitional)

This module currently imports from `crate::state::execution_state`,
`shipper_retry`, `shipper_types`, and `shipper_cargo_failure`. As each of the
remaining microcrates is absorbed in subsequent PRs, these imports will be
rewritten to `crate::*` paths.