Extract the reusable bits from ExtractRef and ExtractsPath libs
Both ExtractRef and ExtractsPath modules are written to be used in controllers but the functionalities they provide can be useful in other contexts as well. For instance, in !128342 (merged), we needed to extract blob ref and path from Referer headers at the mutation resolver level.