Add FullPatch/Object type

FullPatch is a Patch guaranteed to have all fields of the model.

FullPatch is a legitimate 'Patch.read' result (but we keep it
polymorphic for legacy use cases).

get/put are polymorphic now (thus 'readPatch' helper is added to tackle
type ambiguity when get/put + read are used).

Sql.select can now use (fullPatch Mdl.ident) projection combinator to
include a FullPatch in the result
Add Data.Model.Patch.Sql.exists predicate