Refactoring for nicira plugin to support NVP DHCP/Metadata services

This initial patch is aimed at decoupling core plugin services from
DHCP and metadata services. The abstraction being introduced is
needed so that the code can support both models where dhcp and
metadata services are provided by external RPC agents or solely by
the server-side plugin.

Supports blueprint nvp-dhcp-metadata-services

Change-Id: I396ee7bbcbd866e4e9d4a79887e844b4f5ec3c9e
Merge "Refactoring for nicira plugin to support NVP DHCP/Metadata services"