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
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
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.
Fixes #6307, src/support and src/flisp makefiles didn't apply JCPPFLAGS.
Merge pull request #6824 from ncnc/ncnc/jcppflags

Fixes #6307, src/support and src/flisp makefiles didn't apply JCPPFLAGS.
text/markdown is nonstandard, but is now supported in IPython (ipython/ipython#5648) and is useful to recognize as a text type
Merge pull request #6799 from brk00/patch-1

Update linalg.rst
Merge pull request #6818 from simonbyrne/pkgpublish

push access no longer required for Pkg.publish()
Merge pull request #6827 from tkelman/patch-libunwind

Add libunwind patch from Pyston
define == instead of isequal for some Base types
fix #6826, recover better from expressions nested too deeply
rename: deps/0001-Change-the-RBP-validation-heuristic-to-allow-size-0-.patch -> deps/libunwind.patch

Just mentioning the original name of the file violates the git commit
message line length standards.