A parsed, shell-like simple command line stored as argv.
@type t() :: %HostKit.CommandLine{ args: [String.t()], ast: term(), command: String.t(), source: String.t() }
@spec parse(String.t()) :: {:ok, t()} | {:error, term()}
@spec parse!(String.t()) :: t()