Add libunwind patch from Pyston
beginswith, endswith accept Chars
Expand macro documentation

These changes are based somewhat on the [discussion on the julia-users list](https://groups.google.com/d/msg/julia-users/YTZM3Biy-rM/m0orpSjQ8RIJ) and somewhat on my own stumbling points as I was learning how macros worked.

Here's the motivation behind these changes:

* Stress that macros *return* an expression to be evaluated, and hopefully make it look like they're less magical to newcomers. Make `return` explicit in the examples, so it looks less like textual substitution and more like a mapping from exprs to an expr.
* Provide an example where the macro is more than just return an expression. The changes to `@assert` since the original documentation was written make this very natural without needing to contrive another example.
* Use function such as `macroexpand` and `dump` in the examples to help make things more concrete and give users tools to play with.
* Make the hygiene section introduction a bit more clear, with an emphasis that the only thing it needs to worry about is the returned expression.

I think this should help folks 'get' macros a bit quicker. I hope.
Update linalg.rst

Complemented linreg() documentation
Corrected examples on linreg function

Removed the prompt and semicolons
Mapping over [] returns []. Fixes #6719

map(f, []) now returns [] (an Array{None,1}).

Running [][map(x -> x, [])] no longer fails due to bounds checking errors.
This was happening because [] is of type Array{None, 1}, whereas ie
map(int, []) is of type Array{Any, 1}.
Fix some issues related to eigvals

- Pass arguments to eigvals to eigvals!, so that eigvals(A, irange)
  and eigvals(A, vl, vu) work as described in the docs
- Restrict eigvals!/eigfact! to real symmetric/Hermitian or complex
  Hermitian matrices. Previously we allowed these methods to be called
  on complex symmetric matrices, which did not give correct results.
Introduce RealHermSymComplexHerm typealias and use where applicable
We no longer have a deps/random/*.tar.gz, so don't try to put that into `make source-dist`
Implement hash-checking on downloaded dependencies

Dependencies will be checked at extraction-time, and have their checksums stored
in deps/checksums/. The deps/jlchecksum command tests a given filename against the
checksums stored in that file, supporting MD5 and SHA512 checksums for all
recorded files.  SHA512 is preferred, with MD5 available as a fallback in the
case that `shasum` is not available.  If the hashes do not match, an error is
thrown and compilation is halted.  If a file is asked for and no hash has been
given for that file, the hash is generated for both SHA512 and MD5, and stored
Add an item into NEWS.md
More verbose/user friendly error messages in jlchecksum
fixes #6691, push access to METADATA should not be required for Pkg.publish(). Also check if any changes have been made.
improve docs for eval, isconst, isdefined
capture all global variables from Main in parallel constructs. fixes #6815

before we used `isconst` as a heuristic to identify variables that don't
need to be sent, but this doesn't really make sense. now we just send
interactive (Main) variables, and other modules are assumed to have been
evaluated everywhere (e.g. via `require`).
Merge pull request #6811 from purzelrakete/master

WIP: Mapping over [] returns []. Fixes #6719
slightly better types for map() of empty arrays
Correct description of short-circuit evaluation

Add that final value in a conditional chain may be anything and provide an example
Return NaN for median of vectors containing NaN. Closes #6486
Cholesky factor should always be Triangular.