Fixes for vorticity QoI
const correctness
Got rid of the read_input_options function.
Have SimulationBuilder return a CompositeQoI shared_ptr
Actually create the CompositeQoI in the QoIFactory
Need correct headers.
Implement clone method for CompositeQoI
Use iterator correctly
Use const iterator
This function is get_qoi_value now.
Have tests use get_qoi_value now.
It's a pointer, not a reference
const correctness
We need to do a deep copy when we clone CompositeQoI

This is because the original version might get destroyed and wipe out
the data being pointed to in the _qois data structure.
Can't have too many asserts.
Provide mechanism for deciding where to assemble

To try and optimize (a little) the QoI assembly process, we allow
for either the interior or the boundary to be skipped. We let each QoI
report if it needs to assemble on the interior, boundary, or both.
Then, CompositeQoI (through DifferentiableQoI) can set the appropriate
flags.
Use default QoISet

Since we handle manually adding the QoI's we want, we have no need
to use the QoISet business. So remove it's construction and use the
default (empty) version.
Update to CompositeQoI in mesh adaptive solver.