Improve API again in further refactor.

- We now pass a pending ServiceVersion object to plugins.
- The app plugin can now use rewrite_service() and setup_version(), so it
  no longer has to deal with creating and appending versions itself.
Rename test file to match the others.
Move plugin-specific version data into a dict.

This makes sure we can truly derive versions with previosu data, and it
fixes a test failure.
Make require plugin deal with other hold-reasons.

Fix last test failure.