Introduce table function and refactor LogicalGet using TableScanFunction, and we extract the previous table scan to `seq_table_scan` table function. This abstraction makes it easier to do external data source scans and internal pragma functions.