Regex support match_all
Adding match_all to exports.jl
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
Adding tests for regex match_all.
Modifying match_all to matchall to follow convention.
Renaming to matchall in test as well.
Adding support for overlap option.
Removing useless is_utf field
Merge branch 'master' into nutsiepully-match_all_regex

Conflicts:
	base/regex.jl
regex tests: include in the test suite and tersen them up a bit.
pkg2: minor cosmetic change.
base/multi.jl: comment out check_master_connect(60.0) for now.

This is causing lots of delay and problems in normal day-to-day
usage, so I'm diabling it for the greater good.
lower precedence of postfix ...  fixes #3456
it's very unlikely that any code depends on the old parsing.
pkg2/resolve: use Int128 for FialdValue noise
pkg2: move code from resolve/interface to query

moved version pruning and subgraph computation, plus
cleanup
pkg2/resolve: only keep requirements subgraph