remove unneeded test model for ActiveModel test cases.
Remove @state.parent assignment on commit

This piece of code was introduced on
67d8bb963d5d51fc644d6b1ca20164efb4cee6d7 , which was calling
`committed?` in the `transaction_state` before calling the `committed!`
method. However on 7386ffc781fca07a0c656db49fdb54678caef809, the
`committed?` check was removed and replaced by a `finalized?`, which
only checks if the state is not nil. Thus we can remove that line.
only ask for the routes module once

we can cache the module on the stack, then reuse it
pass the module to define_named_route_methods

after this, we can disconnect @module from the instance
helpers should be a Set so it doesn't grow unbounded

since helpers is a set, we can be confident about when to remove methods
from the module.
ask the named routes collection if the route is defined

we should not be accessing internals to figure out if a method is
defined.
oops! :bomb:

use helpers.include? so we don't get any false positives
Merge pull request #16335 from arthurnn/rm_parent_state_trasaction

Remove @state.parent assignment on commit
Add implicit receiver support to `Object#with_options`
Merge pull request #16339 from rwz/with_options_implicit

Add implicit receiver support to `Object#with_options`
Merge pull request #15959 from aditya-kapoor/remove-unneeded-cases

remove unneeded test model for ActiveModel test cases.
Revert "Merge pull request #15305 from tgxworld/remove_unnecessary_require"

This reverts commit f632f79b8dcd144408c66a544984b2ba9cf52f87, reversing
changes made to 98c7fe87690ca4de6c46e8f69806e82e3f8af42d.

Closes #16343