Enable filtering (filt) across columns of arrays

When passed a multidimensional array, simply iterate over its columns, independently filtering each one.  The starting filter state may be given as a vector (in which case it is common across all columns) or an array with the same number of columns as the input.
Relax filt signatures to allow heterogeneous types

Previously, filt[!] methods were only defined for arguments of all the same type T<:Number. This relaxes that restriction, allowing one to, for example, filter an array of Float32s by Float64 coefficients.

By default, the output of filt will be the determined by promote_type of all arguments.

Instead of defining many type parameters (T<:Number, S<:Number, ...), filt now simply trusts that the eltype of the arrays have methods for basic arithmetic.
Bump openspecfun
Merge branch 'master' of github.com:JuliaLang/julia
Merge branch 'master' of github.com:JuliaLang/julia
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])
Merge pull request #7560 from mbauman/filtarray

Filtering (filt) across columns of arrays and method signature tweaks
Cartesian: preserve {} when the argument can't be reduced to a number
examples/modint.jl: make the ModInt example usable again.
fix type in function esc() description
Merge pull request #7570 from catawbasam/patch-1

fix typo in function esc() description
some makefile improvements (quieter no-op, re-enable fftw tests, improve setting of -march flag on Darwin)
MathConst: fix conversion to Complex
WINDOWS: cache ispty call for #7174
Change file extension for --track-allocation from .mlc -> .mem