Use custom version of Scala for now in order to resolving cleanly a few issues

- Add dependencie to Shapeless for monadic casting (I am sure I will find other uses eventually)
- Add a little extra logic to detect specific case of desaguring wielding surprising result
- Fixes test cases related to ??? because custom Scala version does not treat NotImplementedError as a Fatal Error (this has changed in Scala 2.11 but cannot be backported to 2.10, but think we don't care!!)
Support for pattern matching in value definitions
Uncomment and update last version of quickSort Example

- This also discovered a subtle bug with the logic trying to be smart about desugaring. I am not sure this handles all cases, but it will have to do for now.