FPRClient: support paging API responses

Rather than try to fetch all items at once (which doesn't work for
sets of results larger than 1000), rework the existing code into a
simple fetch function and a generator that iterates over every item
of the requested type. These are now fetched in batches of 100 and
the "next" URL provided by the API response is used to page through
all results.

Fixes #6964.
FPRClient: cleanups

* PEP8 cleanups
* dict comprehension instead of dict(list comprehension)
getFromRestAPI: test each_record, not getFromRestAPI

refs #6964
FPRClient: Mark getFromRestAPI function as private

Outside code should prefer using each_record() now.
Also rename to pothole_case.

refs #6964
FPRClient: Replace fprserver fixture with constant

Since this was unchanging, it can simply be a constant string without
breaking anything.

Since pytest fixtures don't always play nicely with VCR, it's easier
to sidestep this issue where possible.

refs #6964
Add testing requirements to requirements.txt
FPRClient: update tests

* Add new test for each_record
* Adjust both each_record and getFromRestAPI tests to use VCR, and
  add recorded responses for both

refs #6964
Batch-import PRONOM v74 formats into FPR

Fixes #6977.
Add mediainfo, ffprobe, exiftool to FPR

Fixes #6977.
MCPClient: add exiftool to dependencies