Restructured all rhythm makers.

All rhythm makers now use `RhythmMaker.__call__()` as their entry point. The
logic unique to each rhythm maker now lives in that maker's `_make_music()`
method, which is defined as abstract on `RhythmMaker` itself.

`RhythmMaker.__call__()` handles input coercsion, as well as output checking.
All makers now return a mixed list of `Tuplet` and/or `Selection` instances.
Further work will tighten this constraint.