fix #3672, dispatch bug due to type intersection

the improved typeintersect revealed a bunch of ambiguity warnings,
which could be fixed up by improving method specificity a bit, and
manually patching one case.
Manually symlink libopenblas.so to libopenblas.so.0 in usr/lib/
Merge pull request #3681 from staticfloat/arpacklinkfix

Manually symlink libopenblas.so to libopenblas.so.0 in usr/lib/
Update OS X build instructions in README.
Return sum of squared residuals from gglse
Merge pull request #3555 from JuliaLang/anj/gglse

Return sum of squared residuals from gglse
document SymTridiagonal, improve other tridiagonal docs
more helpful error messages in ccall and cglobal
cleanup UV objects, especially status codes. fixes #1923. fixes #3676
on uv close, notify all waiting tasks
fix @assert for use during sysimg build, and use it
fix #3544
fix small TODO in quadgk (use SymTridiagonal eigensolver)
Fail earlier if FD is already being watched
BufferedReader: IO wrapper allowing buffering
Added mark, seekmark, unmark to AsyncStream
Fleshed out further BufferedReader methods
IOBuffer mark: use -1 if not marked
Updates to marked buffering

* Removed IOStream from BufferedReader
* Modified IOStream to allow marking
* Split out mark(), unmark(), seekmark(), and related functions
  to iomark.jl
* Updated IOBuffer functions to better handle marking
* Added tests for marking of AsyncStream
Removed bufferedreader.jl, nb_writable()