Refactored binding & elution into connected presenter

Move a lot of the common code into the connected presenter.
Refactored childDone() handling code to be slightly finer grained.
Refactored transfer handling into connected

Had to specify the target output in the configuration.
Binding & elution have different transfer setups.
Fix config references in connected model
Fixes for various typos after moving code
Enable connected model to deal with multiple outputs

Connected presenter now handles multiple outputs
Need row presenter to signal when all sub presenters done
Binding transfers need to be based on the row presenters sub presenters
Refactored by product tube transfer code

Work like kit binding, sort of.
Fix elution model so it works with rowDone
Fix row model behaviour so it doesn't always have labware

Regardless of whether you set 2 or 3 labwares in the config, the model
always generated 3, which cause row presenter to always have three.
This way it's slightly more generic.
Make byproduct page behave like kit binding
Make row presenter ignore special sub presenters
Row presenter now does not care about sub presenters

Sub presenters are not referenced by name
To configure the labware you have to say if it's input or output
Model behaviour is the same for connected presenters
Special labwares are always disabled but completed
Make byproduct transfer model more consistent
Add second stage of RNA+DNA extraction as explicit

Explicit configuration for the second stage
Make kit binding model work from input/output rather than model type
Row presenter needs to be told initial visibility

Owner page drives the state of a row presenter
Need to ensure that the labwares are ordered correctly
Elution before 2nd stage of DNA+RNA extraction
Enable rows only after outputs have been created
Refactor connected.getRowModel for common behaviour
Reset the input labware when the barcodes have been printed