Initial commit
Add initial project files.
Add Limit class and tests.
Add Hashmake class.
Add InputPort class and tests.
Add another test for InputPort, for #dequeue_values.
Add OutputPort class and tests.
Add Processor class.
Add support for array HashedArg in hash_make.

Move InputPort, OutputPort, and Processor from core/ to network/ directory.
Add Interpolate class and couple basic tests for .interpolate_linear.
Add CircularBuffer class and a good number of tests. More tests still needed though.
Add #to_ary and #push_ary to CircularBuffer, and tests to go with.
Add DelayLine class and test.
Improve HashMake by setting instance variables directly instead of requiring that an accessor method be implemented.
Add Gain class to handle dB->linear and linear->dB conversion.
Rename Interpolation.interpolate_linear to Interpolation.linear.
Add Oscillator class and tests.
Add BiquadFilter, CookbookLowpassFilter, CookbookHighpassFilter, CookbookBandpassFilter, CookbookAllpassFilter, and CookbookNotchFilter classes. Also add a test (not too great) that can print a graph of ferquency response to verify the filters.
Add EnvelopeDetector class and test.
Add Saturation class, with .sigmoid, a sigmoid-based saturation function. Also added a very simple test.
Add .gompertz saturation function to Saturation class, and rename .sigmoid to .tanh.
Replace InputPort with SignalInPort, and OutputPort with SignalOutPort.
Replace Limit class with methods to produce lambdas that perform limiting. SignalInPort now takes :limits hashed arg (a Range).
Add MessageInPort and MessageOutPort, and tests.
Rename processing/ to lib/.
Add GainBlock class and basic tests.
Change hash_make method to require explicit passing of an array of HashedArg objects to specify the desired hashed arg processing behavior.
Add a couple more GainBlock tests.