Fixed #23493 -- Added bilateral attribute to Transform

https://github.com/django/django/pull/3284 is a prerequisite for that PR as `PatternLookup` uses the same mechanism to turn a "transformed" rhs into some SQL as it does for an `F` expression (relying on `pattern_ops`).
Yes it is. When I move the import to the top I get an error `ImportError: cannot import name DateField`.

This seems to be the result of the following imports sequence :
```
django/db/models/lookups.py => from django.db.models.sql.datastructures import EmptyResultSet
django/db/models/sql/__init__.py => from django.db.models.sql.subqueries import *
django/db/sql/subqueries.py => from django.db.models.fields import DateField, DateTimeField, FieldDoesNotExist
django/db/models/fields/__init__.py = > from django.db.models.lookups import default_lookups, RegisterLookupMixin```