Scala 2.11 compatibility.

- Fix Shape.copy type
- Remove val in ColumnExtensionMethods
- Convert \0 to \u0000
- Change TupleClass handling in SlickBackend
- Move ShapeLevel._ types to the top level to avoid diverging implicits
  (https://issues.scala-lang.org/browse/SI-7983). May not be necessary
  any more after M8 (but does no harm in either case).
- Disambiguate PrimaryKey in AbstractSourceCodeGenerator
- Cross-build against Scala 2.10.3 and 2.11.0-RC3
- Provide compatibility for https://github.com/scala/scala/pull/3452
  (implemented by @xeno-by)