(#1658) - index method for plugins

Adds a new index() API for plugins to access
in order to store additional metadata.

This API was designed with Map/Reduce in mind,
since in order to persist its data it requires
a secondary index not normally exposed by the
adapter API.  However, the new API is
generic enough that it could be useful for
other plugins.