Add possibility to use not only Long for id.

Unicorn classes previously typed with [something <: BaseId] now are typed as [something <: MappedToBase].
Using MappedToBase instead MappedTo[T] allows to omit type T of underlying value and therefore to keep methods signature unmodified.
 The MappedToBase class is a superclass of BaseId so all previously written code should work.
 Add test checking correct work of UUID id
It would be nice if definition of this trait would be before usage. Please move `MappedId` before `BaseId`