Change _execute_sql_query to a context manager.

It now also uses a connection pool instead of a single connection to
allow background queries performed in parallel.
Do not allow filters with no conditions.
Avoid creating empty filters.
Use approximate data set sizes in Select Rows widget.
Update Data Info with exact size once it is computed.