a schema-enforcing model class for node.js, with optional couchdb persistence