Index state is preserved across reloads.

The index is now a Service, and core/transition! knows how to transition
between cores with similar indices. Closes #138