Fixes #12

Note that 

```scala
class QBMockupCollection(val schema: QBClass) extends QBMongoCollection(null)(null) { ??? }
val mock = new QBMockupCollection(sampleSchema) with QBCollectionValidation
```

is different to

```scala
val mock = new QBMockupCollection with QBCollectionValidation {
  val schema = sampleSchema
}
```

in terms of initialization order.
Meaning ```transform``` of the ```QBCollectionValidation``` trait get initialized after or before the schema, but depends on the schema. Making it lazy resolves the issue though.