ivshmem: ovs-ivshm-mngr utility app and libvport library

- Create a simple utility app to manage main ovs_dpdk objects sharing
  through IVSHMEM. This app resides in utility folder.
- App must be DPDK secondary process having ovs_dpdk running as a
  primary process in the background.
- Command line receives a list of metadata names and port names to be
  included in that IVSHMEM metadata. E.g.

    meta1:port0,port1 meta2:port3.

  Each metadata file will be use with a different VM making the sharing
  process totally isolated and dynamic. In this case we want to share
  ports 0 and 1 with one guest and port 3 with another.
- App is able to share DPDK rings, memzones and mempools.
- Take the port names from ovs_dpdk vport data structure using new library.
- Remove IVSHMEM API references from OVS code.
- Add static library that works as a facade to access vport internals without
  exposing any of its internal implementation.
- Make ivhsmem utility, ovs_client and kni_client use the new library. Remove
  all code duplication in .h files.
- Add vport names checking to allow only alphanumeric names.
- Add unit tests for libvport/ovs-vport API.
- Add stub application to run integration tests without need of
  ovs_dpdk.

Change-Id: I60b814612030d2a69d406eb3a07e6e944e0b0ac8
Reviewed-By: mark.d.gray@intel.com
Signed-off-by: Nicolas Pernas Maradei <nicolasx.pernas.maradei@intel.com>