Cleanup after "Fixed equality and string representation of xml attributes with null value"

This commit reverts the following two commits:
5f2568e36b87d183fd4e4442d5c304db628846c4 - "Revert "Accept prefixed xml attributes with null value"
b00002f9049c034510438881b4a4449d73fe2f54 - "Disabling some scaladoc tests."
and fixes a scaladoc test broken by:
4787f883604d1344257c0b40c15790c3dde477f2 - "Fixed equality and string representation of xml attributes with null value"
Merge remote-tracking branch 'szabolcsberecz/xml-attribute-fixes' into develop
Removed some unsociable exception behavior.
Work in progress on porting akka promises and futures.
Explain Function1 vs PartialFunction

Add an explanation in PartialFunction as to how it differs from Function1,
with examples of what it can do that Function1 cannot.

Make it explicit that calling apply may throw exceptions in both of them,
even in the case where isDefinedAt returns true.

Closes SI-5370.
Improve description of flatten, flatMap

Add examples and better explain the expected return type of the
methods flatMap and flatten.

Closes SI-5371.
Migrate akka promises. Changes to some of the interfaces.
Fixed overloading in package objects.

Implementing a warning for the behavior described in SI-1987 gave me
enough of a foot in the door to fix it rather than warning about it. I
suppose this is a variation of rubber ducky debugging.

% scalac -Ylog:typer test/files/run/t1987.scala
[log typer] !!! Overloaded package object member resolved incorrectly.
  Discarded: def duh(n: Double): Unit
  Using: val duh: (n: Double)Unit <and> (n: Long)Unit

Review by @odersky.
Fix for spurious implicit ambiguity with package objects.

Closes SI-3999.  Review by @odersky.
Fix for crasher in uncurry.

A small dose of packedType closes SI-4869.
syntactic error correction
Fixed instrumented.jar and scalacheck.jar location

Depending on the file order in the directory, PathSettings.srcSpecLib
could end up as "instrumented.jar.desired.sha1" instead of "instrumented.jar"
which would cause all the specialized tests to fail.

The same goes for scalacheck.jar
Reword confusing explanation
Flattening the java flags -> scala logic.

To make the choices more transparent.
Corresponding changes in ICodeReader.
Toward the elimination of setInternalFlags.

Modifications in LiftCode to avoid upsetting the happy world
upon which I am converging where flags change in an almost
predictable fashion.
Symbols making friends with Polly Morphism.

Since I have established (no small effort, this) that there is no need
for certain important flags to be mutable for the entire lifetime of a
symbol, I have codified this knowledge by moving it out of the flags
entirely and into the inheritance hierarchy where its constant nature
can find true happiness.

     AliasTypeSymbol ... it's an alias (forever!)
  AbstractTypeSymbol ... it's an abstract type (forever!)

The only time DEFERRED is inspected is if the generic creation function
is called (e.g. "newTypeSymbol", not "newAliasType") in which case the
presence of the flag is used to determine which symbol to create. This
is mostly for legacy support.

Certain symbols were being created inconsistently with the others. Now
every symbol is created by invoking a creation method on the owner, with
the exception of FreeVar. I changed the owner of those from RootClass
to NoSymbol because there is no reason for them to pollute the symbol
hierarchy at the root.

The signature of cloneSymbolImpl is now

  def cloneSymbolImpl(owner: Symbol, newFlags: Long): Symbol

There is an overload with the old signature which calls that one with no
flags. With this step, every symbol creation in trunk is performed with
knowledge of the initial flags, opening the door to many optimizations
in the Symbol and Type logic, not to mention boosting my sanity by at
least five sanity points.
Preserve attribute order in inline XML
Putting some of the symbol potential to work.

Renamed the parameter to all the newXXX symbol creators to "newFlags"
because I've seen too many bugs which arose from having a parameter name
which shadows a field and where mistakes can inflict subtle bugs which
won't be found until much later (yes I'm trying to describe "flags" right
now.) Opportunistically cleaned up some symbol creations.
Test case backing spec.

Added code from SLS 2.0.2.