Add textmime macro

There is quite a number of functions that need to be defined for a
text mime-type to flawlessly interact with the rest of the system.
If the mime type is not included in Base, this is quite tedious, so
add a macro that defines all the necessary functions appropriately.
Make Julia work on 10.9
Fix spelling & introduce flag to avoid unnessecary command line flag (since older compilers may not support it)
Merge branch 'kf/textmime' into kf/osx1092
linalg/bitarray: bugfixes (istril/u, kron)

Also add tests
bitarray: implement preprend! and sizehint
bitarray: make bitshift operators saturating

This is for consistency with how those operators are
implemented for numbers.

Also, code cosmetics.
linalg/bitarray: additional check in dot

Also, code cosmetics
bitarray: remove some bound checks

Use inbounds macro where it makes a noticeable
difference (more than 10% performance increase).
bitarray: small improvement in kron
bug fix: missing d=0 default in spdiagm (from #4547)
Update the symperm documentation with more details.
Added reference to ``put`` in parallel-computing.rst
Merge pull request #4628 from malmaud/patch-1

Added reference to ``put`` in parallel-computing.rst
clean up and extend generic copy! methods. fixes part of #4633

copy!(dest, src, do=1) is gone; the core function is copy!(dest, doffs, src, soffs, N)

there are now more generic fallbacks, so for example this works:

julia> copy!(a, 1, "abc\u2200z", 2, 3)
3-element Array{Float32,1}:
   98.0
   99.0
 8704.0
allow a, = x syntax. fixes #4610
fix append! and prepend! of self

thanks to @carlobaldassi
Don't introduce extra mmacosx-version-min for osxunwind
hvcat(Integer, as...) method for when all rows have the same number of block columns
Git.{dirty,staged,unstaged}: alternate, saner fix to #4349.

This is rapidly becoming my least favorite issue ever. This avoids
the diff.dothewrongthingbecauseitsslightlyfaster git option bug since
that atrocious option apparently only applied to "porcelain".