Update TODO list.
Remove profiling code.
Initializer has different interface now.
Reinstate synchronous DB.  The benefits of asynchronous are too small.
Partial rewrite of Difference class.

Still hard to understand, but a little better than before.
Forgot to return the unpinned dist, so we can use it in the message title.
Warn about pinning/unpinning dists that are alredy pinned/unpinned.

Also, don't include them in the generated message, since they weren't
actually changed.
The callback for as_hash provides both key and value.
Improve how commit message templates are generated.
Implement the Delete action.  Still needs tests tho.