Principal no longer calls unscheduledFill

Previous changes had ProductHolders handle the unscheduled running of modules. However, Principal::getProvenance() was a hold over to the old way. This brings it inline with the rest of the code.
Renaming to better match actual functionality

Principal::getProductByIndex and Principal::ConstProductPtr where renamed to Prinicpal::getProductHolderByIndex and Principal::ConstProductHolderPtr since the functionality was dealing with ProductHolders and not Products.
Merge pull request #1828 from Dr15Jones/PrincipalNeverCallsUnscheduledFill

Framework update -- Begin simplification of Principal