SI-7296 Lifting the limit on case class arity

The first commit fixes a crasher with the limit still imposed, that shows up with nested fat case classes.

The second lifts the limit. For case classes with > 22 params:
 - omit generation of `unapply`
 - pattern matching directly binds to the case accessors (as it would do for smaller case classes already)
 - the companion doesn't inherit `FunctionN`.

There was some understandable fear of the piecemeal when
I tabled this idea on scala-internals [1]. But I'd like
to persist as this limit is a needless source of pain for
anyone using case classes to bind to database, XML or JSON
schemata.

Review by @paulp @szeiger (for a Slick perspective), and by the Scala Meeting tomorrow.

[1] https://groups.google.com/forum/#!topic/scala-internals/RRu5bppi16Y