Abstract entity rendering with EntityEmbedDisplay plugin type.

I think this is how I intend to solve https://drupal.org/node/2273393. With an abstract EntityEmbedDisplay, I could add sub-classes for Entity Reference formatters, or other field formatters. This would allow users to create arbitrary ways to display embedded entities as well outside of just entity_view(), which will be very useful.

Tasks:
- [x] Convert to plugins
- [x] Figure out if derivative plugins can work for field formatter plugins - yes they work!
- [x] Integrate with PluginFormInterface
- [x] Ensure all new methods and classes are documented.
- [x] Updated docs about new data attributes.
Yes. I just spoke with Dave. He's planning on merging this PR shortly after a few more consultations. I'll start a new branch on top of this one for doing more injection throughout.