Remove warning remeving the method before redefining

We need to test if the same method defined more than once only register
one subscriber for it. We can safelly remove because the method body is
the same and Subscriber use method_added hook for register the
subscriber.
Remove AD::Journey::Formatter#verify_required_parts!

Nobody uses this private method, maybe it is a leftover from some old
refactoring. Let's delete it.
add test cases for negative position in Array#from
Remove duplicated setup in test
Simplify the code in schema cache

The use of default procs was unnessecary, made the code confusing to
follow, and made marshalling needlessly complex.
revert 96525d63
`Array#to` is working for negative position
Move parsing of PG sql strings for defaults out of column
Inline type cast method for PG points
use the request object since we have it

stop hardcoding hash keys and use the accessors provided on the request
object.
remove NullRequest and just always pass a request class
Change typecasting unit tests to test type objects directly

There's no longer type casting behavior of any kind inside of `Column`
for the general case. These tests can be made clearer by testing the
type objects directly.
find_routes only use the request, so stop passing env
use the accessors on the request object rather than touching env
Merge pull request #15274 from sgrif/sg-move-type-tests

Change typecasting unit tests to test type objects directly
Merge pull request #15281 from sgrif/sg-inline-point-type-cast

Inline type cast method for PG points
[ci skip] Remove Duration#=== when we drop support for 2.0.0-p353
Merge pull request #15279 from akshay-vishnoi/remove#===

[ci skip] Remove Duration#=== when we drop support for 2.0.0-p353
extract request allocation from the main app serving routine
pull request allocation up one frame
switch to the `serve` method so we can remove the request class (eventually)