Initial draft of puzzler about default args for case classes

Based on a suggestion by @didierd in https://groups.google.com/forum/#!topic/scala-language/DDpvGcrs3QQ
So many choices here! I found it really hard to decide between this one (which is probably the reader thinking "how can it compile with a dangling `this`?) and "The first statement prints `true`, the second one fails to compile", which would be the user wondering whether default args carry over to the `apply` factory method.

I was thinking of a different code sample that would allow for both options:
```
case class Part(serialNr: Int = this.hashCode)
println(Part(4322551) == new Part(4322551))
println(Part() == new Part())
```
Here, the candidate answer with the runtime exception (i.e. endless loop) can be dropped and we can have _both_ possible "fails to compile" answers. But somehow this variant didn't seem quite as "puzzling."

@didierd: What do you think?