show developer guidelines on opening pull request

Includes "Improvements and typo fixes to CONTRIBUTING.md" by @heathercmiller
as well as feedback from @retronym.
SI-6632 SI-6633 Fixes issues and data corruption in ListBuffer

 - Disallow negative positions for ListBuffer#insert/insertAll/update
 - Fix data corruption issue in ListBuffer#insert
sane printing of renamed imports

Having a select named "foo" with an underlying symbol named "bar"
and trying to make sense of all that by prettyprinting is very confusing
SI-5330, SI-6014 deal with existential self-type

This has been broken since https://github.com/scala/scala/commit/b7b81ca2#L0L567.
The existential rash is treated in a similar manner as in fc24db4c.

Conceptually, the fix would be `def selfTypeSkolemized =
widen.skolemizeExistential.narrow`, but simply widening before
narrowing achieves the same thing. Since we're in existential voodoo
territory, let's go for the minimal fix: replacing `this.narrow` by
`widen.narrow`.

--
Original patch by @retronym in #1074, refined by @paulp to
only perform widen.narrow incantation if there are
existentials present in the widened type, as
narrowing is expensive when the type is not a singleton.

The result is that compiling the entirety of quick, that
code path is hit only 143 times.  All the other calls hit
.narrow directly as before.  It looks like the definition
of negligible in the diff of -Ystatistics when compiling
src/library/scala/collection:

    < #symbols                      : 306315
    ---
    > #symbols                      : 306320
    12c13
    < #unique types                 : 293859
    ---
    > #unique types                 : 293865

I'm assuming based on the 2/1000ths of a percent increase
in symbol and type creation that wall clock is manageable,
but I didn't measure it.
Fixes SI-6150 - backport to 2.10.x branch.
Merge pull request #1612 from scalamacros/topic/showraw

sane printing of renamed imports
SI-6634 Fixes data corruption issue in ListBuffer#remove

This is the cut-down version with minimally invasive changes,
e. g. keeping the "auto-correcting" bounds algorithm.
Merge pull request #1593 from adriaanm/guidelines-2.10.x

show developer guidelines on opening pull request
Merge pull request #1624 from adriaanm/paulp-issue/5330-2.10.x

SI-5330, SI-6014 deal with existential self-type
SI-6551: don't insert apply call in polymorphic expression.

Don't rewrite an explicit apply method to dynamic polytypes.
SI-6663: don't ignore type parameter on selectDynamic invocation

Fix mkInvoke to handle selectDynamic calls of the form

  new C.foo[T].xyz

or

  new C.foo[T].xyz :U

(where C extends Dynamic)

Without this patch, the type parameter was silently ignored, and
possibly inferred to a different.

This patch fixes mkInvoke to handle these cases, where ctxTree has
the form Select(TypeApply(fun, targs), nme) or Typed(...)
Scaladoc update for collection.mutable.MultiMap

Addition of source code example on how to use a MultiMap and its
defined methods. Minor correction in documentation for method
`removeBinding`.
Restore the opimization apparently lost after merge.
SI-6673 fixes macro problems with eta expansions

Eta expansions previously caused the typer to disable macros. That was
done in order to detect eta expansion of macro defs and show the user
an appropriate error message.

Macros were disabled because to find out whether we're expanding
a macro def, we need to get its symbol, and to get a symbol of something
we need to typecheck that something. However typechecking automatically
expands macros, so, unless we disable macros, after a typecheck we won't
be able to analyze macro occurrences anymore.

Unfortunately this solution has a fatal flaw. By disabling macros we
not only prevent the eta-expandee from macro expanding, but also all
the subtrees of that eta-expandee (see SI-6673).

This commit adds a mechanism for fine-grained control over macro
expansion. Now it's possible to prohibit only the node, but not its
children from macro expanding.
adds comments to standard attachments
Merge pull request #1628 from axel22/issue/6150-backport

Fixes SI-6150 - backport to 2.10.x branch.
Merge pull request #1644 from vigdorchik/group_search

Restore the opimization apparently lost after merge.
Merge pull request #1641 from sschaef/doc-update/multimap

Scaladoc update for collection.mutable.MultiMap
Merge pull request #1621 from jannic/SI-6663-2.10.x

Si 6663 2.10.x fix type parameter on selectDynamic
Merge pull request #1620 from namin/si-6551

Fixes SI-6551.