Support for designing filters using second-order sections

This PR adds new `BiquadFilter` and `SOSFilter` types, the ability to design filters using second-order sections as `digitalfilter(responsetype, convert(SOSFilter, prototype))`, and an efficient `filt` routine for filtering using `SOSFilter`s. Tests pass but I'd welcome review. In particular, `convert{Z,P}(::Type{SOSFilter}, f::ZPKFilter{Z,P})` deserves attention because I'm not sure a bug in it would necessarily show up in the tests.