Add the schema property to the survey model itself.
Add the schema property to the survey model itself.

This is in preparation to completely get rid of the idea of SurveyContent
entities. It only makes our life complicated and is unnecessary. We anyways
receive the data in the form from jquery formbuilder plugin in JSON
serialized format. We can just store the JSON directly in our datastore in
one property and read that property while constructing the survey take form.

I find this approach much better than having one entire entity for the
schema. It just involves too much of processing overhead and a lot more
code which clearly indicates that it has potential for more bugs/flaws.

Also, there is a 1 MB limit on TextProperty in Appengine. So our form
schema cannot hold a very large form. Say a form with around 1000 fields
or 100 fields with many fields having 100s of choice options. It is very
very very unlikely we will ever have such a big form. But even in case
we ever have such a form, most of the datastore related API calls won't
let the entire size of the entity itself to be greater than 1 MB, so
we cannot anyways read/write the entity which is larger than 1 MB, and
so cannot have a single TextProperty which can exceed 1 MB limit. There
is a small loss in terms of the other properties which are not part of
the schema but will be in the survey entity, but when we are talking
about 1 million bytes the storage occupied by all the other properties
combined in comparison to schema can easily be neglected. So we are
still safe with this approach.

rhyolight/nupic.son,rhyolight/nupic.son,rhyolight/nupic.son