ML2 Type Driver refactor part 3

This commit builds on top of part 2 to introduce differentiation
between provider and tenant networks.

Change-Id: Ic77ade6b1d1be9af2f3503cc17e869f0e2493e26
Implements: Blueprint ml2-type-driver-refactor