text: Title: Empty string is not allowed as ESCAPE for LIKE/ILIKE
  Body: ### Describe the bug
  
  PostgreSQL allows specifying an empty string as the ESCAPE clause for the LIKE/ILIKE operator to turn off escaping. 
  https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-LIKE
  
  However, SQLAlchemy treats the empty string passed as an argument to like/ilike functions as `None`.
  
  
  
  ### Optional link from https://docs.sqlalchemy.org which documents the behavior that is expected
  
  https://docs.sqlalchemy.org/en/20/core/sqlelement.html#sqlalchemy.sql.expression.ColumnElement.ilike
  
  ### SQLAlchemy Version in Use
  
  latest
  
  ### DBAPI (i.e. the database driver)
  
  psycopg2
  
  ### Database Vendor and Major Version
  
  PostgreSQL
  
  ### Python Version
  
  3.8
  
  ### Operating system
  
  any
  
  ### To Reproduce
  
  ```python
  self.assert_compile(
      sql.column("foo").like("bar", escape=""),
      "foo LIKE %(foo_1)s ESCAPE ''",
      dialect=postgresql.dialect(),
  )
  ```
  
  
  ### Error
  
  There is no error, the output SQL is missing the `ESCAPE ''` clause.
  
  ### Additional context
  
  https://github.com/sqlalchemy/sqlalchemy/pull/9908