Treat name in getResourceAsStream as resource path

The parameter for getResourceAsStream is not a class name. It's a resource path!
Refactor use of SearchFailure in implicits.

Introduces AmbiguousSearchFailure to go with the
the existing SearchFailure, and changes predicates
to use `SearchResult.{isFailure, isSuccess}`.

This doesn't change behaviour; it is a preparatory
commit for SI-6667.
Updated asm to 4.1.

Released 2012-10-14. One of the listed features is

  316321: asm osgi bundles based on BND.

in case that's interesting to someone.
Fix for SI-6712, bug in object lifting.
Fix for SerialVersionUID instability.

Can hardly believe this has been broken for a decade or so, but
there it is - see test case. Four classes attempt to set their
SerialVersionUID to 13. One succeeds. No warnings or errors. The
output before this patch (for me anyway - your random numbers may
differ) was:

  860336111422349646
  13
  8409527228024057943
  -7852527872932878365

There was already code in place for rejecting annotations
with non-constant args when constant args are required, but
that check is only performed on ClassfileAnnotations, and
SerialVersionUID was a StaticAnnotation. Maybe people don't
reach for ClassfileAnnotation because of this giant warning
which I see no way to suppress:

  warning: Implementation restriction: subclassing Classfile does
  not make your annotation visible at runtime. If that is what you
  want, you must write the annotation class in Java.

Why did I change the name of the field from uid to value?
If you don't use the name 'value', you have to name the argument
every time you use it, even if it's the only parameter. I didn't
relish breaking every usage of scala's @SerialVersionUID in the
known universe.
Eliminate some one-arg asserts.

The only thing more fun than debugging non-deterministic
scaladoc crashes unrelated to one's change is doing so with
all one-argument asserts.
Account for existence of scala's ClassfileAnnotation.

Apparently this thing is not real well tested, as the
scaladoc code was written as if it does not exist.
Disabled part of a test.

Hmmm, the giant blob of binary data embedded in a test
suddenly stopped working. What does one do in this spot.
SI-6718 fixes a volatile test
SI-6667 Abort after any ambiguous in-scope implicit

Rather than continuing on to a search of implicits
of the expected type.

Previously, the companion implicits were searched if the
the caller was running the implicit search in silent
mode, for example if searching for an implicit parameter
in an application which has an expected type.

After this commit, the behaviour is consistent, regardless
on silent/non-silent typing.
Adds a margin stripping string interpolator.

Currently only for compiler internal use.

Designed to avoid surprises if the interpolated values
themselves contain the margin delimiter.

Before:

    val bip = "\n  |.."

     s"""fooo
        |bar $bip
        |baz""".stripMargin

    "fooo
    bar
    ..
    baz"

After:

    sm"""fooo
        |bar $bip
        |baz"""

    "fooo
    bar
      |..
    baz"
Take advantage of the margin stripping interpolator.

Safer and shorter.
SI-5678 Bad return type for [Use Case] docs in Range

Many [Use Case] example in Range such as the one associated to the union method document that the method returns a Range which is just plain false.

Example:

val ran1 = Range(1,3)
val ran2 = Range(54, 57)
val result = ran1.union(ran2) // This is a perfectly valid use case yet obviously cannot be represented as a Range
SI-5753 macros cannot be loaded when inherited from a class or a trait

enclClass should be taken from Tree otherwise we can jump to declaration
class/trait.
neg test added
Merge pull request #1674 from scalamacros/topic/showraw

SI-6718 fixes a volatile test
Add convenience attribute operator to NodeSeq

Compared to the current method of reading the string text of an
attribute:

(x \ "@bar").text

...the new operator removes the need for a pair of parenthesis and
shortens the overall expression by 7 chars :

x \@ "bar"



Discussion on scala-internals:

https://groups.google.com/d/topic/scala-internals/BZ-tfbebDqE/discussion
Fix typo in documentation for Seq
Fix for SI-6731, dropped trees in selectDynamic.

I rewrote mkInvoke entirely, and boosted the test coverage.
Merge pull request #1676 from retronym/topic/sm-interpolator

Adds a margin stripping string interpolator.