added NoteSet.from_scale
refactored Note.scale to return a proper NoteSet