l3_learning: Add "wide" match mode

In #118, @asurak noted some dead and apparently useless code.  Inspired
by this, I've made l3_learning have a selectable narrow (exact match)
or wide (IP destination only) mode.  In wide mode, it also explicitly
removes old entries to help prevent an active sender to a changed
destination from keeping new entries (to the fixed destination) from
being established.

Also cleans up (and fixes an exception in!) some log code.
libopenflow: Add ofp_base.clone()

This is a default implementation of clone() which works for any ofp_base
subclass with pack() and unpack().  (I think.)