partial support for out-of-tree builds of julia src
Emphasize how `isimmutable` works for types.

Ref: #8760
Ignore `@inbounds` when running Pkg tests on Travis
implement float vs int comparisons in Julia
modify int-float comparisons to fix #9021.
parametric typealias additional explanation

I added some text to clarify a point that stumped me about parametrized types and typealias.
IteratorsMD: remove ambiguity resolution for SharedArrays
IteratorsMD: handle 0-dimensional arrays properly
Improve wording of docs for middle()

Cf. #9032.
Merge pull request #9020 from JuliaLang/teh/travis_checkbounds

Ignore `@inbounds` when running Pkg tests on Travis
Use a tarball instead of git for checking out LLDB.
Don't forget to download LLDB, and make python2 hack more compact.
Ignore LLDB deps, and add some checksums.
Remove unused LIBCXX_OPTIONS.
`rand` sampling from an array accepts an optional rng

Fixes #5978.
IteratorsMD: allow AbstractArray methods to be overriden

Any AbstractArray type that wants to override an indexing methods would
have formerly run into trouble:

    next{T,N}(A::SomeArrayType{T,N}, state::CartesianIndex{N})

would be more specific in the first argument, but (because
CartesianIndex{N} is less specific than CartesianIndex_$N) would be
less specific in the second argument. So there was no way to avoid
a method ambiguity warning.
IteratorsMD: document eachindex and add NEWS.md item
clarification suggested by @ivarne
Optimize pinv for diagonal matrices

In general, the pseudoinverse is determined to only half of the machine
precision for general dense ill-conditioned matrices. For diagonal and
certain other matrices (e.g., tridiagonal matrices), the pseudoinverse
can be determined more accurately. We try to detect if the matrix is
diagonal immediately after the call to pinv and invert the diagonal elements
only whithout invoking ths svdfact function which is both faster and
more accurate.

Since the default threshold can not be determined in advance for arbitrary
matrices, provide a user-selectable parameter tol and provide a simple
scheme for automatic threshold selection.

pinv(A) sets the threshold tol to eps(one(T))*maximum(size(A)).

pinv(A,tol) sets the user-selectable threshold tol.

pinv(A,0) attempts to determine the threshold tol by forming two pseudoinverses
for tol=eps(one(T))*maximum(size(A)) and tol=sqrt(eps(one(T)) and estimating
the error in the first Moore-Penrose relation a*pinv(a)*a = a. This can be done
with very little overhead (since svdvals is an expensive call) while using
about twice as much intermediate memory.

Add pinv method for Diagonal type.

Check and fix zero and sub-normal matrices.
Merge pull request #9065 from JuliaLang/rf/rand-ranges-use-mt

`rand` sampling from an array accepts an optional rng