Add SIP-23: Literal-based singleton types

Hello folks,

Looks like we've discussed all the details on the mailing lists ([scala-language](https://groups.google.com/forum/#!topic/scala-language/9VEnFZImyJI) and [scala-sips](https://groups.google.com/forum/#!topic/scala-sips/YRHd8WW0V40)), and there seem to be a general agreement on what this feature has to look like. So I decided to be bold, and go ahead with porting the [draft document](https://docs.google.com/document/d/1V5Xc3Up_hTuhFNtsZMYJwvCG0IHviq0UMWTjWANwvZ4/edit#) to markdown, incorporating all the suggestions from mailing lists as well as comments from the document itself.

Just read through the [SIP Submission Process document](http://docs.scala-lang.org/sips/sip-submission.html), and it looks like I've messed up some intermediate steps (for example I've posted to scala-language instead of scala-debates). Hope this is okay. Also not sure if I can have number 42 for this SIP. Hope this is okay too :)

Please let me know what you think.

/cc @xeno-by @retronym @adriaanm @paulp @odersky @milessabin @gkossakowski @heathermiller