Fix #6372

This adds the package to REQUIRE on Pkg.clone() if it exists in
METADATA. This means that calling Pkg.clone() on a repo that's on an
old tag will result in the package getting updated to the latest
release, but that seemed preferable to making Pkg.clone() on a package
that's on a tag result in a pinned package.
more explanation of immutable

Some aspects of 'immutable' escaped me when I first read the manual and were clarified by Stefan Karpinski.  II think other new users might benefit from this clarification, so I put some additional paragraphs in the manual.
added a paragraph about elementwise

As far as I can see, elementwise operators are never introduced or defined in the manual, so I added a paragraph to introduce and define them.
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`.
PriorityQueue: use O(logN) algorithm for dequeue!(pq, key)
Still return a tuple from `peek(pq)`
Fix type-stability of setindex!(::PriorityQueue, val, key) (return val)
Expand style guide on naming

An attempt to capture the discussion at https://groups.google.com/d/msg/julia-dev/8ty9cQe_uGM/mkk3PiDG17wJ,
particularly https://groups.google.com/d/msg/julia-dev/8ty9cQe_uGM/Qgu9I6lN-LgJ
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)
NEWS updates
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.
Silence `which` error output
Update dates.rst
Update dates.rst
Add dates test to test/Makefile. Also move Dates up in the testing lineup since it takes longer.