Adds callbacks from dependent parent to parent formula, so that composite formulae can be built up that
compose multiple dependent formulae, with a completion notification after each child finishes install.

Adds support for taps to be declared within a parent formula.  Useful when a dependent formula requires
a tap.  Also adds a getter that allows the parent to suppress caveats, in the event that the parent
will issue a composite caveat.
Allow caveats to be suppressed in the event that finalize will obviate them.

When taps are declared as required by a formula, it is not an error if the tap already is installed.
Composite formulas can declare any taps they depend on.

Required taps were being required multiple times.

Messaging and call finalize_<dependency_name>.

Make sure taps are added before the formula sanity check.

Still not installing taps at the right time.

Debug messaging

Just testing..  Inefficient dev cycle here, but have to check in every change (apparently).

Testing fix for add_tap bug

Just testing..  Inefficient dev cycle here, but have to check in every change (apparently).

testing

testing

testing

testing
release candidate

release candidate

release candidate

Removed some temporary debug messages.
Merge branch 'squashed_feature'