ORM to Slick Draft, needs polishing

review by @szeiger 

Please already review this. I keep polishing it as we go a long.
Well, you already noted that “this kind of mapping may be less useful than it may seem it first”, and indeed I think the only benefit is that you can define only one case class and reuse it with all your requests. On the flip side, since this case class does not exactly map what has been loaded by a query you may have to handle `None` cases in situations where you actually loaded things. What should you do in such situations? Throw an exception telling that this situation should not happen? Use the `.get` method of `Option`? None of these solutions is satisfactory…

That being said, I understand that this can be a pragmatic solution to a real problem (avoiding both the necessity for defining a type for each query and the use of less meaningful types like tuples).