lib: Expose ovs_mutex and ovsthread_once in <openvswitch/thread.h>

This picks the ovs_mutex API from lib/ovs-thread.h and exposes it
in <openvswitch/thread.h>

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Move token-bucket.h to <openvswitch/token-bucket.h>

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Expose SAT_MUT as OVS_SAT_MUL in <openvswitch/util.h>

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
list: Rename struct list to struct ovs_list

struct list is a common name and can't be used in public headers.

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Expose struct ovs_list in <openvswitch/list.h>

Expose the struct ovs_list definition in <openvswitch/list.h>. Keep the
list access API private for now.

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Move vlog.h to <openvswitch/vlog.h>

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Move vconn.h to <openvswitch/vconn.h>

Also moves definitions for struct vconn and pvconn to the public
header. The provider interface is kept private.

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Add test for library usage

This test covers inclusion of public header files and basic usage
of the API such as vlog.

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
lib: Factor out definition of ofputil_protocol.

Compiling ofp-util.h with a C++ compiler fails because
meta-flow.h (included from ofp-util.h) uses this enum
prior to its definition in ofp-util.h. This is mainly
due to differences in enum handling between C and C++.
This change moves the definition of the enum to its
own file.

Signed-off-by: Amit Bose <bose@noironetworks.com>