Added the initial version of Typed Criteria DSL.

More work is likely needed, but the macro-based Typed Criteria
DSL type is at a point where it contributes significant value.