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
Improve animation for completion toggling of tasks.
Simple animation for changing todo view.
Add method docs to CDTViewController
Drive showOnlyCompleted property value from segmented control's value
Use [self class] rather than type name in factory method
Clarify a few design decisions in the sample app with comments.