[TASK] consolidate Finder Logic

Finder is not inherently reusable. So, this moves all of the Finder creation logic
into a getFinder() method so that a Finder can be retrieved each time something needs
to access all of the files in the Derivative that match the constraints:
paths, notPaths, mediaType OR mediaType, withFiles

files added through with() should be of the given mediaType, as they will be treated like
they are that mediaType. withFiles are not filtered by suffix.