Add pagination support to FinderTrait

## Add pagination support to FinderTrait

### Acceptance Criteria
1. All tasks detailed below are completed and it works.

### Tasks
- ~~Add setPaginated() method to FinderTrait.~~
- ~~Add setPage() method to FinderTrait.~~
- Add setResultsPerPage() method to FinderTrait.
- Accept 'page' and 'resultsPerPage' options in findAllBy.
- If ~~setPaginated(true) was called~~ 'page' option passed to findAllBy:
  - findAllBy sets appropriate LIMIT and OFFSET.
  - 'page_count' and 'result_count' are set as properties on the EntityIterator.
  - EntityIterator::getArrayCopy() returns 'page_count' and 'result_count' at the top level of the array, along with the actual results under the key 'results'.
  - If no 'order' option is passed to findAllBy, throw exception.  

### Additional Notes
- None