This is an incremental step towards adding a proper plugin interface.
The long-term goal is to have Chronik automatically re-index the transactions of a plugin using the LOKAD ID index, however, we don't need this for an initial release.
Instead, we only add a check that ensures the plugin versions that previously have been used match those that are currently loaded.
We also assign plugin_idx numbers for plugins, this allows us to use integers instead of plugin name strings when indexing transactions, and in the future may allow renaming plugins without doing a reindex.
Depends on D16520.