ML2 Type drivers refactor to allow extensiblity

Specification for refactoring of ML2 type drivers, manager and the plugin
to allow customization and extensibility.

Change-Id: I9bdc38fedcc4090286074b42cb63bed3b022d302
Merge "ML2 Type drivers refactor to allow extensiblity"