add interval related classes + tests, and applyInterval() and copy() method to music.note