Shared, wasm-clean boatramp types: the serde wire models + the pure
routing/config logic, with no IO, async, or backend dependencies. The
server, the CLI, and the edge Worker all depend on this crate, so the wire
format and the routing decisions can't drift between them — and it compiles
to wasm32-unknown-unknown (the edge target) where the full boatramp-core
(Storage/KV/wasmtime) cannot.
boatramp-core re-exports every module here (boatramp_core::config,
::route, …), so existing boatramp_core::* paths are unchanged.