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
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".
Use FC and FFLAGS to link openblas on 10.9.
Merge pull request #4614 from JuliaLang/kf/osx109

Make Julia work on 10.9
Pkg.success: use awful `git update-index --really-refresh` again.

This was horribly broken; apparently the fact that autorefreshindex
doesn't apply to plumbing commands means that they *default* to the
broken behavior. So now we use the plumbing commands and force the
index to be up-to-date by doing `git update-index --really-refresh`
before every Git.success command. Close #4349. Kill it with fire.

. I give up. This is a completely absurd
way to do this
`make test` now the same as `make testall`.

Also causes `make` in the `test` directory to test all by default.
Provide a build option USE_LLVM_SHLIB to help #2494
Doc updates.