Merge the fix for OPTIQ-439.   Make certain push project rule constructors protected such that derived classes in Drill can access them.