FIX: Check type of lfiltic

Current `lfiltic` has a bug where the input `y` gets turned into an array, and the datatype of the result is used to set the datatype of `zi`. This is problematic when `y` is given as a set of integers, because then as `zi` gets accumulated from the product of `y` and `a`, the resulting value gets truncated to an integer. This is one possible way to solve that problem.

I wasn't sure where else `lfiltic` was tested (if at all, explicitly?), `git grep "lfiltic"` within `scipy/signal/` didn't turn up any instances within `tests/`, so hopefully the test I added is in an okay place.

Closes #3699.
Maybe ``if y.dtype.kind in 'bui:'``, then it works for bools and unsigned ints as well.