Added `getNumberOfSearchResults()` to interface. Refs #8230.

- Added empty method signatures to related catalogs.
Added paging offset and limit to search interface. Refs #8230.

- Updated catalog method signatures that make inherit this interface.
Updated search query to make use of offset & limit. Refs #8230.
Added implementation for paging method. Refs #8230.
Updated implementation in `CatalogSearch` algorithm. Refs #8230.

- Added unused arg macro and return to new methods to prevent compiler warnings on build servers.
Updated helper method to understand algorithm interface. Refs #8320.
Show most recent results first. Refs #8230.

- Also removed unnecessary logging information.
Added logic for paging. Refs #8230.

- Changed "Previous" and "Next" labels to buttons to allow user to click them.
Added implementation to paging SLOTS. Refs #8230.
Change long to int64 for paging methods. Refs #8230.
Fix compiler warning. Refs #8230.

- Moved `CatalogHelper` from `MOC_FILES` to seperate include list in cmakefile as it's not an interface class.
Removed unused methods. Refs #8230.
Added page input field functionality. Refs #8230.
Prevent invalid page number. Refs #8230.
Make ICAT3 helper class a member variable. Refs #8230.

- This allows the helper class member variables to be shared across the catalog methods.
Implement paging for ICAT3. Refs #8230.
Prevent user entering invalid page. Refs #8230.
Modified interface parameters. Refs #8230.

- Renamed `getSearchQuery` to `buildSearchQuery`.
Modified query implementation. Refs #8230.
Updated related query dependencies. Refs #8230.

- Updated catalog search algorithm to perform count query if property set, otherwise perform normal paging search.
- Use `static_cast` instead of old C style casting in GUI class.