Fixes error in interval addition.

Chromatic value is only to be truncated when the diatonic value carries.
Adds experimental Pitch type
Refactoring

Changes Quality implementation to use an ADT instead of arithmetic
Internal function diffToQuality replaces the old constructor
Implements interval function
IsPitch instance for Pitch, minor fixes
Better Pitch support