Given that a user will not need to call `Plugin::load()` to reference a class I think we should consider changing this logic a little.

It's only necessary to call `Plugin::load()` if you want one or more of: boostrap, default-plugin routes, plugin-specific routes, cli commands, Right now the "default" is this:

 * bootstrap = false
 * default-plugin routes = true (implicit)
 * plugin-specific routes = false
 * cli commands = true (implicit)

It's somewhat inconsistent with itself, they should really all default to the same (since you must want at least one of them - true makes sense to me).

We should also consider making it possible to disable default-plugin routes and cli commands - otherwise e.g. you load a plugin containing a cli that you do want to use and expose routes that you don't want.