REVIEW-4952 - move test.
REVIEW-4949 - better string representation of plugin request in error messages.
REVIEW-4949 - Add story for resolving all plugins before applying any.
REVIEW-4949 - add classycle for plugin-use module
REVIEW-4949 - arbitrary target script plugins cannot use plugins {} syntax.
REVIEW-4928 - don't allow '..' in plugin ids
REVIEW-4927 - use failure.assertHasCause
REVIEW-4926 - unit test for core plugin resolver
Test fixes after error message changes.
REVIEW-4921 - add PluginId type.

Also addresses REVIEW-4918.
Bump the metadata cache layout version due to class renames.
REVIEW-4918 - allow '_' in plugin ids.
REVIEW-4917 - add more explicit tests for not being able to access script and script target API in plugins {}
REVIEW-4915 - use ListMultimap.
REVIEW-4909 - slightly better error messages.

Also added spec not to add more detail when there is reference documentation.
REVIEW-4906 - use failure.assertHasCause
Imports.
Javadoc for public plugin {} types.
Test fix after bumping cache version.