Faster filt!

The array pointer loads cannot be hoisted out of the loop if this code
is in the same function that does the checking and potential
modification of b and a. This change gives a 1.2-1.5x perf gain. It
also mitigates potential effects of type instability of b and a due to
coefficient normalization.
Merge pull request #7698 from JuliaLang/sjk/faster_filt

Faster filt/filt!
fix bug in static_eval that could cause strange errors during bootstrap
Add try-catch blocks to append!, prepend!, and splice! to catch when conversion fails. If it does, the original arrays are rewound to their original state. Fixes #7642