3170 informed consent

This fairly large change addresses issues with Informed Consent. Several of these changes are already being tested in various environments as at times the head of this branch has been deployed. Things being tested are Reconsent, Withdrawal, and Child Consent.

There are several conflicts between this branch and the current master and a rebase or patch will need to happen before this PR can even be considered to be merged.