libopenflow: Make BARRIER_REQUEST controller msg

BARRIER_REQUESTs come from the controller, but were previously
marked as being from switches.  Oops.
datapaths: Rename rx methods; bind automatically

This renames all the _receive_xxx methods to _rx_xxx as per POX convention,
and also binds them automatically (in ofp_handlers) instead of manually.
datapaths: Remove non-single-table cruft

We currently only support one table; no need pretending otherwise -- leave
that to a subclass.
datapaths: Rename _default_port_list

Function names should be verbish.
datapath: Use canonical DPID format for name
datapaths.switch: Clean up __init__
datapath: Fix/improve FLOOD/ALL

This gets rid of the hacky set of NO_FLOOD ports and instead uses the
port configuration bits directly.

Also, having NO_FLOOD set on a port previously stopped it from being used
for sends to ALL as well.  This fixes that.
datapaths: Refactor output

This is to make it so that the way output works can be changed by a
subclass.  The next step is to actually make the current behavior a
subclass.
datapath: Fix some output stuff

Output to a bad port number isn't an exception -- it's just a warning.
This is because it's the controller which has the problem; we just have
to deal with it -- which we can (by ignoring it).

Also, we were previously logging a message when outputting to a down port,
but outputting anyway.  This wasn't a problem, since we currently pretty
much always have LINK_DOWN too when a port is down, but it was wrong and
is now fixed.