Fixed test failure on Oracle: model_fields.tests.test_float_validates_object

Failing test introduced in fix for refs #22210.
Flake8 corrections
Fixed #21840 -- Moved dunder methods from SimpleLazyObject to LazyObject.

This commit also added tests for LazyObject and refactored
the testsuite of SimpleLazyObject so that it can share
test cases with LazyObject.