[WIP] Implement support for networking-as-a-service (aka OpenStack Neutron)

This is a WIP PR. Feel free to review but do not merge it just yet. When it is ready for merge all "WIP" mentions will be removed from it.
On second thought, I'm not sure how to do this elegantly. I'll end up documenting these in the user guide so perhaps I could add @see links to those sections from here?