Ignore `@inbounds` when running Pkg tests on Travis
juliatypes.jl: get many more cases working
clarification suggested by @ivarne
`rand` sampling from an array accepts an optional rng

Fixes #5978.
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.
Correct "touch" option

--no-create does not exist on OS X; use -c instead
juliatypes.jl bug fixes
Remove unused function jl_gc_counted_realloc

Its cousin jl_gc_counted_realloc_with_old_size remains.
simplify id_to_fptrs array for faster deserialization
update helpdb.jl
IteratorsMD: remove ambiguity resolution for SharedArrays
IteratorsMD: handle 0-dimensional arrays properly
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
IteratorsMD: avoid ambiguity warnings by using more stagedfunctions

This also implements a way of handling 0-dimensional arrays that
doesn't require adding a field to a CartesianIndex_0.
IteratorsMD: small final fixes
New SubArrays based on stagedfunctions
Convert to parametric syntax
Make SubArray constructors parametric
Fix problem in getindex for DArrays