API change to fix the type instability

Because we're back to only one optional element for both `filt` and `filt!` (the initial state), I figure it's simpler to just use a positional argument in both cases.  So now the API is:

    filt(b, a, x, [si])
    filt!(out, b, a, x, [si])