Add SchemaBuilder to support defining schemas
Change Deal and User to use SchemaBuilder to define schemas