Regex support match_all
Adding match_all to exports.jl
multi: do not assume a bash login shell, use sh by default
Workers exit if process 1 does not connect within 60 seconds
Added load tests
pkg2: fixes to make working with unregistered packages work better.
pkg2: fix Git.isdirty => Git.dirty
Merge pull request #3572 from amitmurthy/amitm/load

RFC : Load tests
don't require the symbol referenced by cglobal to be a GlobalVariable. fixes #3557
show types with constructors more compactly in repl
Merge pull request #3551 from amitmurthy/amitm/workercheck

Workers exit if process 1 does not connect within 60 seconds
Merge pull request #3547 from nlhepler/nobash

multi: do not assume a bash login shell, use sh by default
Merge branch 'master' of github.com:JuliaLang/julia
pkg2: export init() (needed for non-standard PKGDIR location)
remove some unnecessary isequal() definitions.
make IPv4 and IPv6 immutable
Modifying match_all to plug into the iterators.
sysimg.jl: use relative includes during later system image building.

Before this, it was impossible to both load Pkg2 inside sysimg.jl and
load it at the repl for testing, since the two contexts had different
understandings of what it means to include a relative path. With this
change, the later stages of sysimg building use the same kind of
relative include semantics as the normal (i.e. repl) include.

This change also affects linalg/{cholmod,umfpack}.jl, making them
potentially possible to load from the repl, not just from sysimg.jl.
pkg2: simplify prefetch API & use automatically on install/update.

This has unexpectedly far-reaching consequences: to simplify the
Cache.prefetch interface, it needs to lookup URLs on its own, which
leads to Cache depending on Read. But Read depends on Cache, which
can't be made to work in terms of code loading. So this refactor
requires passing a cache-finder into some of the Read API to allow
that module to be loaded without the Cache module existing yet.

I considered merging Read and Cache instead, but the current split
is that Read never writes any data, while Cache only affects the
.cache directory, and Write is the only module that ever actually
creates, deletes or changes installed packages. This separation
seems worth preserving to make the system easier to reason about.
pkg2: alternative refactoring of Cache.prefetch not relying on Read.

The diff between this version and the parent of the previous is much
smaller, but I'm keeping the intermediate version in the history just
for posterity. Who knows? Maybe I'll change my mind again.

Also, fix a bug in installed_version that was skipping out early when
no cached version of a package existed. That logic made sense before
when *only* the cache was consulted for version determination, but
that is no longer the case -- we consider first the cache but also
the installed package repo if it exists.

Avoid (noisily) changing branches in METADATA if already on "devel".
Merge branch 'master' of github.com:JuliaLang/julia