Note Recognition and Note Class Hierarchy

Completed Note recognition. Can recognize notes based on frequency, can
identify octave and midi number.  Created Note as an abstract class,
implemented by SingleNote and Chord.  Only required method
implementation is toString.