Snippets API: Add creation time-range filters
<!-- This issue template can be used a great starting point for feature requests. The last section "Release notes" can be used as a summary of the feature and is also required if you want to have your release post blog MR auto generated using the release post item generator: https://about.gitlab.com/handbook/marketing/blog/release-posts/#release-post-item-generator. The remaining sections are the backbone for every feature in GitLab. -->
### Release notes
<!-- What is the problem and solution you're proposing? This content sets the overall vision for the feature and serves as the release notes that will populate in various places, including the [release post blog](https://about.gitlab.com/releases/categories/releases/) and [Gitlab project releases](https://gitlab.com/gitlab-org/gitlab/-/releases). " -->
The Snippets APIs (`/snippets`, and `/snippets/public`) now support specifying optional time ranges to filter based on their last creation or update times
### Problem to solve
<!-- What is the user problem you are trying to solve with this issue? -->
Currently it is possible for pagination to break between calls when listing snippets, if a new snippet is created while a subsequent list API page is being queried. This is because of the way pagination works (stateless, where each page request is evaluated upon receipt).
To provide for a more consistent result, it could help to provide a time filter field such as `start` (and also `end`) times to clip the results in an API response.
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
Provide a way in the API to specify a bound for `created_at` time when querying snippets, such as by adding fields `created_before=X` and `created_after=Y` that limit the database query over column `created_at`.
issue