Initial version of sample code for the ndb modeling article.

This is an attempt to replace db with ndb in the following article:
https://developers.google.com/appengine/articles/modeling

Note that the original article was written in 2008, which was way before we released High Replication Datastore. Thus we need to introduce a strong consistent query by having parent keys for some entities, as well as migrating the code sample to ndb.
I'm game for whichever, phone_numbers_query -> query or phone_numbers -> list(). I agree that returning a query makes sense from an architectural standpoint, but I think it's confusing to mix both approaches. For consistency, all of these should ideally return the same thing:
contact_with_group_models.Contact.phone_numbers -> list()
naive_models.Contact.phone_numbers -> list()
keyproperty_models.Contact.phone_numbers -> query
parent_child_models.Contact.phone_numbers -> query
relation_model_models.Contact.phone_numbers -> list()