Added filters.
Added to_samples_per_frame_f.

- Creates a new stream format matching the original but with given
number of samples per frame.
Added generator that only works on 1 channel.

This is mostly a test of the syntax to create a generator that only
generates to a subset of all formats. Too much verbosity, but I
think we can get that down after a few examples pop up to refactor.
Bashed unnecessary named connections.
Filters actually process after pulling now.
Generator and processor update.

Generators and processors now support resize() and reset() methods.
This means that the original operator() isn't the only method they
have, so that has been renamed to generate() and process(),
respectively.
Fixed unused type warning.
Bashed a notes block.
Repeater works.
- Changed sink ptr type in repeater_c.

repeater_c now correctly uses weak_ptrs rather than shared_ptrs to
store connections to sinks.
Summer works.
Added note about where we need sat arith.
Bashed "unit test" asserts.
Removed sequence param from generators.
Added float pi and const 1.
Added linear volume processor.
Added sin generator.
Added reserve() and clear() to sink_c.
Made need for sat_add() more obvious.
Added mech for correctly multiplying by volume.

Applying volume is multiplication. Int types are effectively fixed
point. Multiplying 2 values without overflow requires the next
larger type and renormalization.

Here, we've added a parspec for int and float based volume calcs.