Set up a framework for having different indexing strategies.

Currently this just has a local indexing strategy, but it should be
simple to add alternatives.