Extract `Story` into separate `story` crate (#3378)

This PR extracts the `Story` component into a separate `story` crate so
that it can be shared among various crates that define stories.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>
1b05aad30cMarshall Bowers committed on 11/21/2023, 6:42:00 PM· committed by GitHubparentf4b4bdf
26 files changedLine totals unavailable