Media type plugins

Initial implementation. Should be ready for review. Field map UI is a follow-up (https://www.drupal.org/node/2336157).

https://www.drupal.org/node/2335645

Also done as part of this (test implementation): https://github.com/drupal-media/media_entity_youtube
We have too foreach loops can they be merged in some way? Not a biggie but seems 'wrong'.