Refactored the model code, still needs work

Refactored the model code so the TaskList has an internal List<Task>
that is not itself part of the persisted TaskList.  The TaskList has in
internal ParseObject that holds the name and Parse id.  This is used to
only to be a object that can be added to each Task in the TaskList,
creating a one to many relationship.  I did it this way, rather than
include an array in the TaskList object, so that we can add tasks to
shared lists without contention, since each taskis persisted separately.
At startup, the TaskList will be loaded (using a cached first policy) by
loading the ParseObject, then loading the all the tasks using a query
that includes the TaskList id (TBD).  Each task will be persisted as it
is created or modified (TBD).  For all updates, we should first load the
object, merge changes, then save, in order to avoid overwriting others
changes.  (It would be really nice if Parse would allow us to keep an
atomic serial number for each ParseObject that is incremented on every
save, and that can be used to fail and update if the incoming object is
the wrong version).