Use ice_cube as RecurringTodo backend

Not to merge, just for discussion.

seejohnrun/ice_cube seems like a promising library to handle recurrence rules. It would take some complexity out of the Tracks backend to pass this work off to a gem. I think long-term it might be a good way to go.

This PR is just a proof-of-concept to show that it can handle our recurrence types. All it does is store IceCube::Pattern objects in the database. This might be the first step before replacing the logic in a subsequent release -- that way the subsequent release could simply drop the old code rather than keeping it for backward compatibility.

Thoughts?