fix inline documentation for SparseMatrixCSC
Cartesian: parse-time evaluation of A[3] when A is known

This allows efficient operations like this:

    indexes = [:i_2, :i_3]
    macroexpand(:(@nexprs 2 d->$indexes[d]))

This also centralizes the parse-time evaluation of expressions,
combining the new array reference with the previous arithmetic
and conditional evaluation, so that it can be done on a single
pass through the expression tree.
Revert "Add |> to punctuation list"

This reverts commit f5bdbe4d493e0ffa2b3843a8cd9ffab34dabb4e0.

Conflicts:

	doc/stdlib/punctuation.rst

This is not really punctuation, just an operator. It's also not just
for function chaining, it's also used for redirection. It's also not
clear what function chaining means. Also, people shouldn't use it.
correct description of locations searched by require(). closes #7347
Merge pull request #7356 from swadey/master

sparse nonzeros() not exported
fix #7355
fix #6523 by reverting to blocking tty
Bump openlibm.
fix #5574, maybe
Merge pull request #7335 from joehuchette/master

Fix inline documentation for SparseMatrixCSC
Don't use @timeit1, as that doesn't give us a standard deviation at all, even though it takes a long time.  The wait is worth it.
Faster cumsum & cumprod. Fixes #7342.
Merge pull request #7359 from JuliaLang/teh/cumsumprod

Faster cumsum & cumprod. Fixes #7342.
- Zip2 iterator fix
- add a test for #7369