Remove replicate controller; add class for todo items.

To reduce down the code to its core, we don't need a full
view for replication.

Using a class for todos reduces the likelihood of typos causing
invalid objects in the shared database.
Use description for todo description variable names consistently
Use sync library indexing to show only active or completed todos
Add animation for swapping task view and completing tasks
Add method docs to CDTViewController
Clarify a few design decisions in the sample app with comments.