Big refactoring, rationalising a lot of the operator overloading, and
paving the way for units with different IO counts.
Add define allowing thelonious to be used with the audio device.
Add missing includes to constant_operator.h
Add ID for each unit.
Fix direction of M, N in audio_device.
Add missing includes
Add seperate channel modulo operators.
Reorganize tests, and add some tests for DSL operation.