Add indexing to sample application

This PR adds an example of how to use the indexing functionality to the sample application. The commits do roughly the following:

- Replace the replication view with a sync button that replicates both ways in serial, and only logs to the console. It felt like the view wasn't much use and made playing with the app to see what happened in ones database a chore.
- Add a small class to map between dicts and strongly typed todo items.
- Index the completed state of tasks using a custom indexer for boolean values.
- Use a segmented control to switch between showing completed and active tasks.
- Add some animations between active and completed views for nicer experience.