keep unpublished module completion requirements

completely refactored the way completion requirements are vetted

test plan:
 * regress module progression

fixes CNVS-11507

Change-Id: Ie56b7c189f3b38be2410c2496c06cf143641e3b2
Reviewed-on: https://gerrit.instructure.com/31056
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>