Created InputVoiceDef and OutputVoiceDef classes

These both have the base class VoiceDef.
Functions that apply to both new classes are still
in VoiceDef.
VoiceDef was only used by the SongSixAlgorithm,
and it now uses OutputVoiceDef class instead.
Study 3 sketch 2 now uses both new classes.
Bug Fix: MasterVolumes were not being set
properly (in all scores).
All scores have now been successfully recompiled.
Renamed MidiCompositionAlgorithm

to CompositionAlgorithm
CompositionAlgorithm fields improved

To iron out an old wrinkle, MidiChannels are no
longer defined explicitly.
Instead, the number of output voices is specified
in a NumberOfOutputVoices property.
To be consistent, NumberOfInputVoices and
NumberOfBars are now also simple properties.
Midi channels are now allocated automatically
from top to bottom (starting at 0) in the default
order of Voices provided by the algorithm.
(DoAlgorithm still returns Voices, rather than
VoiceDefs, but I'm going to change that now.)