Tweaks to StepRange: Take 2
readdlm has_header is now header, skipstart added

fixes #6869
- `header` takes a boolean value and behaves like `has_header` or DataFrames `header` option.
- `skipstart` takes a positive integer value and behaves like DataFrames `skipstart` option.
Improvements to regex performance.
Remove trailing whitespace
Make partitions more robust

Implement partitions(n, m) in the cases where n = 1 and m > n,
as well as the analogous situation for partitions(v::Vector, m).
Remove unnecessary check
Improved dict printing

This is an attempt at improving the situation for issue #1759.  I've added
slightly enhanced `summary`s with information about the number of k/v pairs for
Associative and Key/ValueIterator types.

This PR keeps the old behavior (mostly) as `showcompact`. I then added new
functionality in `show` and `showlimited` for Associative and
Key/ValueIterators, printing newlines as delimiters between key/value pairs.
When output is limited, keys are truncated to the left third of the TTY screen
and values are truncated at newlines or the screen edge, with the `=>`
separators aligned.
Boundschecks for searchsorted & remove step(r::Range)==0 tests

1) Check bounds on the more low-level searchsorted* methods.  Before
an error like this was possible:
```
julia> searchsortedfirst([1:10], 5,  -10, 7, Base.Order.Forward)
zsh: segmentation fault (core dumped)
```

2) Removes the step(r)==0 tests as ranges cannot have 0 steps (I
   think)

Note that the low-level sort! methods also do not check bounds.
Probably this should also be rectified.
Note on declaring multiple variables as global

Fixes #7070
Refactor linear algebra tests for special matrices

Tests for special matrices now live in test/linalg4.jl (formerly part of test/linalg2.jl), continuing the refactoring process for linear algebra tests (#5735).

Added tests for binary operations over special matrix types (to catch errors like #7073).

Also cleans up the Makefile entry so that only the "linalg" test is specified (it is automatically aliased to "linalg[1-4]" in runtests.jl).
use modf and modff libm functions for modf. helps #7076

frem+trunc turns out to be much slower than these.
Merge branch 'master' of github.com:JuliaLang/julia
Bump threshold for cond(::Triangular). Ref: #5605
make gamma(n) 10x faster for small integer arguments, so that it can be used without penalty instead of factorial for generic code that works for integers and non-integers (e.g. for #7033)
Merge pull request #7081 from karbarcca/patch-2

Note on declaring multiple variables as global
Refactor eig(::SymTridiagonal) test

Now uses test_approx_eq_vecs like all the other eigensystem tests.
Remove extra definitions of issorted and in.
special functions reorganization (no code changes): move several functions from math.jl to base/special/*.jl
Merge pull request #6700 from karbarcca/patch-3

Tweaks to StepRange: Take 2
Fix for LLVM trunk changes that broke enableUnsafeAlgebraIfReduction.