CORE-4716: modified list-tool-requests so that filtering by username is optional filtering by status code is possible
CORE-4716: filter for status after the most recent status has already been chosen
CORE-4720 Fixes for duplicate App listings and counts.

Removed the Group ID and name from the get-app-listing-base-query and added a "DISTINCT" modifier to prevent the query from returning more than 1 result per App.
Refactored the template_group_template join out of the get-app-listing-base-query and get-app-count-base-query functions, and into the 'where' clauses used with these base queries.
Refactored the 'count' in get-app-count-base-query to include a "DISTINCT" modifier on app IDs to prevent the query from counting an App more than once.
CORE-4720 Refactored 'where' clause for user's public apps.

Refactored the 'where' clauses, that include a user's public apps in an app listing query, into an add-app-group-plus-public-apps-where-clause function.
CORE-4796: bumped the compatible database version
CORE-4720 Added app_groups/get-groups-for-app

Retrieves a listing of all groups the app with the given ID is listed under.