moved Arpeggiator code to its own module and refactored into subclasses per pattern
added some tests