Implement menu links as plugins, including static admin links and views, and custom links with menu_link_content entity, all managed via menu_ui module

This PR is just for interactive review since it's such a big changeset  - please summarize comments at: https://drupal.org/node/2256521
This is the same in every plugin manager.  e.g. see:  \Drupal\Core\Plugin\DefaultPluginManager

It's explicit here since we are using YAML discovery so we are not calling the parent constructor.