Driver refactor

Beginning of the 'complex vlan driver' pull request.
Might want to put a similar comment just inside the `[driver simple_vlan]` section.