Delete zipfile-bug.txt

The observed bug is probably solved (or should have a ticket), this 4-year-old thread dump does not seem to belong here.
Merge pull request #4071 from Blaisorblade/patch-3

Delete zipfile-bug.txt
Bump version to 2.11.5 in build.number file.

Scala 2.11.4 release has been staged, we should start publishing snapshots
for Scala 2.11.5 now.
Merge pull request #4077 from gkossakowski/bump-version

Bump version to 2.11.5 in build.number file.
bump module versions in eclipse projects
avoid widening TypeVar <: Singleton
[WIP] SIP-23 Parse `Literal` as `SimpleType`

This requires -Xexperimental in 2.11.x.

Update spec.

TODO:
 - test!
 - include SIP as spec addendum
 - don't predicate on -Xexperimental -- introduce -Xsip:23?

Notes:
 - `()` is not a literal, neither are `Symbol`s
[WIP] SIP-23 LiteralType: 42 and friends

`LiteralType` is a `SingleType` with a literal for its path.
With an example: `1` is to `p.type`, as `1` is to `p`.

`lit` is the most precise type for an expression known to evaluate to `lit`.
Note that we cannot constant fold the expression to `lit`, since it may have a side effect.

`ConstantType(c)` is the type of an expression that can be constant folded to `c`.

When an expressions should not be constant folded, the corresponding `LiteralType`
is created: `ConstantType(c).deconst == LiteralType(c)`
(this is where all `LiteralType`s originate, except for unpickling).

`typedLiteral` always infers a `ConstantType`, which is subsequently
`deconst`ed or `widen`ed where necessary (see `widenIfNecessary`).
In short, only `final val`s may have `ConstantType`s, and
`widen`ing is required to ensure that a path is stable and accessible (roughly speaking).

When checking subtyping, this invariant is useful: `LiteralType(c).widen == c.tpe`.

TODO:
  - test! (subtyping, type inference, type tests, patmat, dependent method types)
  - fully predicate implementation on -Xsip:23
  - is it safe to reduce LITERAL in pickler?
[WIP] SIP-23 equality test for singleton type <:< AnyVal

test case:

```
val y: 5 = 5
def g(x: Int) = x match {
  case _: y.type => 0
}
```