lib/util.h: Disable ovs_assert when build with NDEBUG

Reduces binary size. Use a static inline function instead of
a macro to not get "unused variable" warnings everywhere.

Making ovs_assert an empty inline in the header file effectively
optimizes out all calls to ovs_assert.
vswitchd: Split pick_local_hw_addr
vswitchd: Inherit port mac address for fake bridges

When adding a physical port to the main bridge the mac address
of the bridge is updated. We can do the same for fake bridges by
copying the mac address of the parent bridge.

There exists only one fake bridge per vlan, hence it is safe
to copy the mac address of the parent bridge.

vswitchd: MAC inheritance for fake bridges

mac
lib: Disable VLOG_DBG if compiled with NDEBUG

When building with NDEBUG strip away all debugging messages
written with VLOG_DBG.
lib/hmapx: Make some functions inline
lib/smap: Mark some functions inline
lib/sset: Mark some functions as inline
lib/simap: Mark some functions inline
lib/backtrace: Mark some functions static

This allows the compiler to remove some "dead" code when building without
backtrace support.
lib/shash: Mark some functions inline
vswitchd: Use sysinfo-syscall instead of parsing /proc/meminfo
lib/byteq: Make some functions inline
lib/timeval: Remove some function exports

timespec_to_msec and timeval_to_msec are only used within timeval.c.
Make both functions static in timeval.c.
lib/list: Make some functions static inline
netdev-linux: Use unsigned int for ifi_flags

ifi_flags is unsigned, the local equivalents should do the same.
netdev-linux: Let interface flags survive port setup

Due to a race condition when bringing up an internal port on Linux
some interface flags (e.g. IFF_MULTICAST) are falsely reset. This
happens because netlink events may be processed after the according
netdev has been brought up (which sets interface flags).

Fix this by reading the interface flags just before updating them
if they have not been updated by from the kernel yet.