Increase partest timeout and emit warning when it hits.
SI-6095, SI-6098 - clean up public API, add deprecations

Remove Scheduler, Cancellable, and Task trait.
Hide impl.Promise object.
Deprecate managedBlock methods in TaskRunners.
Remove duplicate toBoxed method and pointless renaming import.
Remove duplicate import of CanBuildFrom and Builder in Future.
Organize imports in impl.Promise.

Review by @axel22 and @heathermiller
SI-5892 allow implicit views in annotation args

the problem was that lazy annotations got completed in phase pickler.
the `inferView` method in Typers bails out if `isPastTyper`. now the
lazy annotations completes `atPhase(typerPhase)`. test case in `pos`.

the second test case in `neg` is for another bug that is discussed in
a comment of SI-5892. when type checking arguments of type parameter
annotations, the class members should not be in scope. this was alreay
fixed in 9129cfe9.
SI-5695 removes Context.enclosingApplication

Apparently it's impossible to find out the enclosing Apply node
if you're an argument being typechecked (because the arguments
are typechecked separately from the enclosing Apply).

This functionality is by far not a core feature of macros,
so I'm removing it.
SI-6089 better tail position analysis for matches

we mistakenly went into apply nodes to look for matchEnd-labeldefs
in tail positions -- only apply nodes that jump to labels in tailpos
should be traversed (this arises for nested matches)
Fix SI-5937.
Fixed SI-6092. Fixed leaky annotations, and relaxed the conditions under which a try-catch is lifted
out to an inner method.

Less known fact: lazy values null-out their dependent values is their accessed only from
their initializer. The analysis is not context-dependent (meaning the owner where a reference
happens needs to be exactly that lazy value).

* Removed no-op code around positions in `LazyAnnotationInfo`
* Don't lift expressions that have no `catch` clause

The two changes combined fix a memory leak that's been plaguing the IDE: an annotation
(even when forced) would hang on to a namer, through the outer field of its call-by-name
parameter.

The test for the memory leak is in the IDE project (couldn't find a simple way to reproduce it outside
the IDE), but there's a test checking that the field is null after initialization.
Merge pull request #938 from phaller/topic/scala-concurrent-deprecate-cleanup

SI-6095, SI-6098 - clean up public API, add deprecations
Make  field strict and private.
Merge pull request #934 from paulp/partest-timeout

Increase partest timeout and emit warning when it hits.
Merge pull request #909 from lrytz/t5892

SI-5892 allow implicit views in annotation args
Merge pull request #935 from scalamacros/ticket/5695

SI-5695 removes Context.enclosingApplication
Merge pull request #940 from axel22/issue/5937

SI-5937: Vector updated, +:, and :+ ignore provided builder, breaking type safety
Merge pull request #939 from adriaanm/ticket-6089

SI-6089 better tail position analysis for matches
Merge pull request #922 from dragos/issue/fix-SI-6092

SI-6092 don't leak in LazyAnnotationInfo, don't lift try{}finally{}
SI-5999 removes Context.reify

Currently there are discrepancies between the behavior of
c.reify and c.universe.reify.

First step in fixing these problems is removing the duplication in the API.
That's why I'm cutting away the Context.reify shortcut.

Context.reify is a magic macro, hardwired in the fast track mechanism, so
removing it requires redeploying the starr (because an old starr will
crash if launched on sources that don't contain Context.reify).

To cleanly redeploy a starr I've left a Context.reify stub in sources,
but hidden it behind a `protected` modifier. When starr is redeployed
(in a subsequent commit) the stub will be removed.

I've also updated the tests to use c.universe.reify instead of c.reify.
This will break some of them, because c.universe.reify uses a standard
compiler mirror, which unlike a macro mirror doesn't like packageless classes.
That's an annoyance, but I think having clean separation of commits
is more important that being 100% consistent.
SI-5999 deploys a new starr

That doesn't require Context.reify anymore.
more meaningful name for a missing hook method
SI-5999 removes the macro context mirror

It is impossible to enforce macro programmers to use this mirror
instead of c.universe.rootMirror, so it has to be let go.

As to packageless symbol loading, which was the sole purpose of
introducing a special mirror for macro contexts, it will be integrated
into the compiler mirror in subsequent commits.
SI-5949 updates documentation of staticClass