ORM to Slick Draft, needs polishing

review by @szeiger 

Please already review this. I keep polishing it as we go a long.
By the way, do you think it is a good idea to use such type wrappers even in the table mapping or is it better to make the mapping close to the underlying database column type? (I mean, in a database system there is probably no longitude or latitude type)

Maybe you should also define a macro as follows:

```scala
implicit val latitudeColumn = MappedColumnType.anyVal[Latitude]
```

That would expand to:

```scala
implicit val latitudeColumn = MappedColumnType.base[Latitude, Double](_.value, Latitude(_))
```

Or maybe even write an implicit macro materializer for types inheriting from `AnyVal` so that `case class Latitude(value: Double) extends AnyVal` works out of the box in table mappings.