Arbitrary pk type 0.6

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.