proper elementClass for WrappedArray

(backport of 45ef0514e, part 1)
avoid reflect overhead of certain array instantiations

the manifests for Any, Object/AnyRef, AnyVal, Null and Nothing
now have their `newArray` methods overridden to avoid reflective overhead
of array instantiation.

(backport of 45ef0514e, part 2)
Merge pull request #1739 from jedesah/Array_opt

SI-5017 Poor performance of :+ operator on Arrays
Merge pull request #1825 from magarciaEPFL/fusion-Range-foreach

fusion of loops in Range.foreach() and Range.validateRangeBoundaries()
Merge pull request #1830 from magarciaEPFL/unnest-closures-supplementErrorMessage

nested closures are flattened by calling supplementErrorMessage() directly
SI-6915 Updates copyright properties to 2002-2013

The .scala header files had the right copyright dates
but properties used to generate the information in
e.g. "scala -version" hadn't been updated.

review @adriaanm
Merge pull request #1841 from adriaanm/rebase-6827-2.10.x

Fix Iterator#copyToArray (fixes SI-6827).
adds c.introduceTopLevel

The first in the family of mutators for the global symbol table,
`introduceTopLevel` is capable of creating synthetic top-level
classes and modules.

The addition of nme.EMPTY_PACKAGE_NAME is necessary to let
programmers insert definitions into the empty package. That's explicitly
discouraged in the docs, but at times might come in handy.

This patch introduce workarounds to avoid incompatibilities with SBT.
First of all SBT doesn't like VirtualFiles having JFile set to null.
Secondly SBT gets confused when someone depends on synthetic files
added by c.introduceTopLevel.

Strictly speaking these problems require changes to SBT, and that will be
done later. However the main target of the patch is paradise/macros,
which needs to be useful immediately, therefore we apply workarounds.
Made Symbol#associatedFile always return non-null

So we don't have to clutter everything with null checks.
SI-6908 Cleanup of FlatHashTable nulls based on review

Uses pattern matching in findEntry instead of an if.
Uses a named object NullSentinel instead of a val.\
Makes NullSentinel private.
Uses isInstanceOf instead of equality on NullSentinel.
Makes searchEntry a val instead of a var.
Merge pull request #1839 from JamesIry/SI-6908_master

SI-6908 Makes FlatHashTable as well as derived classes support nulls
SI-6916 makes FlatHashTable#remove a Boolean not Option[A]

Makes FlatHashTable#remove return a boolean instead of Option[A].
Updates HashSet accordingly. Adds a test to make sure remove
works as advertised.
SI-6918 Changes REPL output from "defined module" to "defined object"
SI-6803: do not use java.net.URI, even more so incorrectly.
Merge pull request #1848 from soc/SI-6918

SI-6918 Changes REPL output from "defined module" to "defined object"
Merge pull request #1840 from paulp/issue/6911

SI-6911, regression in generated case class equality.
Merge pull request #1835 from paulp/issue/6896

SI-6896, spurious warning with overloaded main.
Merge pull request #1834 from paulp/issue/6897

SI-6897, lubs and varargs star.
Merge pull request #1847 from JamesIry/SI-6916_master

SI-6916 makes FlatHashTable#remove a Boolean not Option[A]
Merge pull request #1842 from adriaanm/backport-1821

Backport 1821