Your task is to implement the theory solver for strings that is described in the resources under reference.md The theory solver should be implemented as a theory solver in src/smt. Call it theory\_nseq. Add a parameter setting to control whether using the default string solver theory\_seq or theory\_nseq or the empty string solver. Utilities that can be made self-contained go in the directory ast/rewriter. Start out by creating a plan for this implementation.