Use EvaluationContext provided by infrastructure.

Allows us to hook into already existing structure.
Move potential id generation to IdAccessor and IdGenerator.
Introduce @KeySpace annotation.

@KeySpace allows us to store independently resolve entity assignments to a physical location.

To do so we borrowed MetaAnnotationUtils from spring-test.

@Persistent
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
public @interface Document {

  @KeySpace
  String collection() default "person";
}