Minor audio additions

These are a few various nice-to-haves, the commit message explains what they do fairly well.

Probably the only debatable change is that `Param::getValueArray()` is no longer const - Because now it will always return a valid array of values (even if they are all the same value), the function may have to call a `dsp::fill` on the internal buffer. This is nice in the case of an `audio::Node` that has more than a couple Param's, since it really simplifies the logic at a minimal, pretty much negligable, performance penalty.  At the same time, `getValueArray()` should almost always be called from a non-const function (such as `Node::processs()`, due to the block-based nature of audio processing where state has to be stored between processing blocks.

These changes are fairly well tested, cherry picked from my private dev branch.