Adds the RequiresPrerequisites field into ProvidesCustomPrerequisite

and all the logic behind it.

This fixes #5958