SI-5652 Mangle names of potentially public lambda lifted methods.

This can happen if they are accessed from an inner class. If a
subclass is happens to lift a public method to the same name,
a VerifyError ensues.

The enclosed tests:
 - demonstrate the absense of the VerifyError
 - show the names generated for the lifted methods (which are
   unchanged if not called from an inner class, or if lifted
   into a trait implementation class.)
 - ensure that the callers are rewritten to call the correct
   method when multiple with the same name are lifted.

It's not ideal that this phase needs a priori knowledge of the
later phases to perform this mangling. A better fix would defer
this until the point when the methods are publicised, and leave
the unmangled private method in place and install an public,
mangled forwarder.
GenASM-based fix for SI-4804. Fix of the same for GenJVM pending.
fixes typos in scaladoc of Orderes.cala
Fix SI-5879.

Fix a bug where a key in an immutable hash map
have the corresponding value different in the iteration
than when doing lookup. This use to happen after calling
`merge`.

Fix the order in which a key-value pair appears in
the collision resolution function - the first argument
always comes from the `this` hash map.

Deprecate `merge` in favour of `merged`, as this is
a pure method.
As an added benefit, the syntax for invoking `merge`
is now nicer.
Fix SI-5867.

Override clone for unrolled buffer.
Fixes SI-5857.

Override `min` and `max` in `Range` and `NumericRange`
to check if a default `Ordering` for the numeric type
in question is used.
If so, bypass traversal and compute the minimum or
maximum element.
Fix SI-5880.

Add a ChiSquare test for the new hash code.
Merge pull request #670 from axel22/issue/5879

Fix SI-5879.
Merge pull request #671 from axel22/issue/5867

Fix SI-5867.
Merge pull request #673 from axel22/issue/5880

Fix SI-5880.
Merge pull request #669 from dgruntz/master

Fixes typos in scaladoc of Orderes.scala
Updated tools/*cp scripts.

To include the asm classes in some cases, and also to improve
with my sadly now-greater knowledge of shell scripting.
Generate abstract methods in scala.Byte and friends.

Rather than stub implementations.  This saves over 50K of bytecode.
I also added the necessary imports to silence the feature warnings.
Merge pull request #674 from paulp/checkin-jun6

Updates to primitive classes and classpath scripts.
Add the first iteration of the `util.hashing` package.

Move `MurmurHash3` to `util.hashing`.
Make the `class` private and retain a public companion
`object`, and put the `MurmurHash3.Hashing` implementations
for various types in the companion.

Add a method which composes `ByteswapHashing` with some other hashing.

Rename `hashOf` to `hash`.

Fix chi-square test in a test-case.

Review by @jsuereth.

Moved a failing test that seems to use some other library version to pending.
counterpart in GenASM to 241c7606d0bf5f3209b9d549fb75
Fix SI-5853.

This solves two issues.

First, up to now the newly generated symbols for normalized
members were not being added to the declaration list of the
owner during `specialize`. Now they are.

Second, during `extmethods`, the extension methods generated
get an additional curried parameter list for `$this`.
Trouble was, after that, during `uncurry` and before `specialize`,
these curried parameter lists were merged into one list.
Specialization afterwards treats extension methods just
like normal methods and generates new symbols without the
curried parameter list.
The `extensionMethod` now takes this into account by checking
if the first parameter of a potential extension method has
the name `$this`.

Review by @dragos.
Review by @odersky.
Merge pull request #677 from axel22/feature/util-hashing2

Add the first iteration of the `util.hashing` package.
Merge pull request #678 from magarciaEPFL/fixes

counterpart in GenASM to 241c7606d0bf5f3209b9d549fb75
Merge pull request #654 from magarciaEPFL/ticket-SI-4804

GenASM-based fix for SI-4804. Fix of the same for GenJVM pending.