MIDI machine control and small cleanup

Implemented MIDI machine control commands: Tested (successfully) play, stop,
rewind, record-strobe, record-exit, record-pause with ardour3. The new class
MMC_MIDI_Event handles the logic of determining the correct set of data
bytes to send for the MMC system exclusive message, using the following
datums specified in the configuration file:

  - the tag (e.g., mmc_play) - to determine which MMC command to send;
  - MIDI pitch - as a key to get the right tag;
  - device-id-number - for the device-id part of the MMC message.

Example MMC config settings (from config2):

mmc_play: 52 127    # MMC (deferred) play - triggered by E3, id 127
mmc_stop: 54 127    # MMC stop - triggered by Fs3, id 127
mmc_rewind: 56 127  # MMC rewind - triggered by Gs3, id 127
mmc_record_strobe: 58 127   # MMC record strobe (AKA punch in)
mmc_record_exit: 60 127     # MMC record exit (AKA punch out)
mmc_record_pause: 62 127    # MMC record pause

Also, in MIDI_StateMachine, removed some logic pertaining state transitions
that aren't supposed to happen: 'BANK_SELECT() => [NORMAL]';
'$old_state == BANK_SELECT()' [in 'execute_state_change'].  Since the
BankSelect_MIDI_Event sets the state to NORMAL in its 'dispatch' routine,
the transition from BANK_SELECT to NORMAL is never seen by
MIDI_StateMachine.
post-MIDI-machine-control cleanup

Cleanup after adding MIDI machine control functionality - removed old,
obsolete code; removed further residue of the state transition that won't
be seen:  BANK_SELECT() => [NORMAL]; removed some print/debug statements.
Compiles, runs.
Filled in some documentation for MMC.