In-place filt!, allow passing initial filter state

This redefines `filt` as `filt!` with a few modifications to perform its
filtering in-place. `filt` is defined as a simple wrapper, copying the vectors
that `filt!` modifies.

Further, both methods now allow an optional argument for the initial filter
state vector. This vector is modified in-place in `filt!`.
Be smarter about the initial filter state

Compute an initial state for filt such that its response to a step function is
steady state.
Revert "Be smarter about the initial filter state"

This reverts commit 19ba34c001152977d4fc011c75e1e08bb260aacf.
Fix copy! for ranges
NEWS and doc for filt state and filt!
Add a 3-argument method for scale! for scalars

Just like as scale! allows a pre-allocated argument for scaling a matrix by a
vector, this allows specifying a third array as the output for scaling by
scalars.
Refactor filt! to use an output argument

- No longer modifies the filter state in place, instead uses a copy
Update filt! API to have out as its first argument

Add a secondary method with keyword arguments to allow si and the output array
to be optional.
Added FAQ on non-use of import and using in functions
Merge pull request #7553 from simonp0420/using_func

Added FAQ on non-use of import and using in functions
rational: print ±1//0 as ±1//0 instead of ±Inf
Merge pull request #7513 from mbauman/filt

RFC: filt improvements
Fix typo and enumeration list in README.windows.md
Merge pull request #7557 from scidom/patch-1

Fix typo and enumeration list in README.windows.md
Support for icc and ifort.
It is possible to use MKL's FFT through their FFTW wrappers
Clean up compiler warnings
Use rem_pio2 from openspecfun. Allows other libms to be used again.
Fix #5365
Rename USE_MKL -> USE_INTEL_MKL and add deprecation
Introduce USE_INTEL_MKL_FFT
Disable dsp and fft tests that are not supported by MKL's fftw wrappers
Merge pull request #7547 from JuliaLang/vs/icc

WIP: Compile julia with icc and ifort
Merge branch 'master' into multithreading