Fix emacs highlighting of symbols that contain keywords.

Previously, symbols such as `prepend!` or `net_required_for` incorrectly
had `end` and `for` highlighted.
`in` is a keyword, so highlight it.
Highlight types in all type annotations.
Highlight parent types in type declarations.
Highlight parameter types and subtypes.
Don't highlight that that happens to contain a constant.

For example, `Inf` in `StaticVarInfo`.
use winepath and spawn with stringreplace

for cross compiling - wine apparently auto-mounts and translates /home,
but if you build julia somewhere else then mingw-compiled stringreplace
can't understand unix paths (same issue as on cygwin)
Add fallback constructor for similar() on ranges that takes a dims::(Integer...) argument. This allows similar to work on ranges where the return type on size() doesn't necessarily equal Dims::(Int...). Fixes #7709.
Update dates.rst
Add dates test to test/Makefile. Also move Dates up in the testing lineup since it takes longer.
Fix constant tables in dates.dst
Add missing comma in test/runtests.jl
Merge branch 'master' of https://github.com/JuliaLang/julia
Fix test/dates/ranges.jl for 32-bit
Merge pull request #8039 from tkelman/wine-stringreplace

use winepath and spawn with stringreplace
Fix for #8042: Instead of loading value and casting, cast pointer and load.
Correcting type regex.
`throw` and `error` are built-in functions that we should highlight.
docs: fix Dates constants table
Highlight the function name, not the module name, in declarations.

For example, the code:

function Base.getindex{T,S}(x::ArraySplit{T,S,Nothing}, i::Int)
    (i >= 1 && i <= x.k) || throw(BoundsError())
    copy!(x.buf, 1, x.s, (i-1)*(x.n-x.noverlap) + 1, x.n)
end