Updated QueryFactory and Selector base class

- Added FLS support to the QueryFactory
- Rewrote the Selector base class to use QueryFactory