refs #8520. create quick_explicit

To help with backwards compatibility, I really don't want to break anything dependent on quick at this stage (including the reflectometry gui), so I want to leave that function API intact. Instead, I introduce a new function called quick_explicit, which quick will call.
refs #8520. Placeholder for correction object.

We need a way to pass correction strategies into quick rather than having it rely on the IDF definitions contained within. Wrapping up the algorithm calls so that they can be partially applied outside of quick is the most sensible way to do this. The new system tests are currently passing prior to making the change of swapping this functionality in.
refs #8520. Swap in new functionality and add tests.

Should now have no more force IDF parameter reads. You can do everything via the quick_explicit.
Merge branch 'feature/8520_idf_free_quick' into develop