Add RouteMod support

__Introduces RouteMod structure:__
  - Consists of Mod (ADD/DELETE), ID (for VM or DP), and TLVs for
Matches,Actions,Options
  - Match,Action correspond roughly to OpenFlow match,actions, but
with a focus on routes rather than flows. Matching IPv4 destination
implies a match on ethertype IP. Action to push/pop MPLS implies
copying the TTL (although this is stubbed at the moment).
  - Option roughly corresponds to the fixed fields in OpenFlow FlowMods.
  - There is a concept of "Optional" TLVs. The most significant bit of
the type field indicates that the field is optional.
  - If TLV is optional and RFProxy doesn't recognise it, the TLV will
be ignored, but the OFP FlowMod will still be constructed and sent to
the datapath (log to debug).
  - If TLV is not optional, and RFProxy doesn't recognise it, the
RouteMod will be dropped (log to error). eg, IPv6/MPLS on OF1.0.
  - Support added in POX,NOX,rfserver (If RFServer receives a
RouteMod, it forwards RouteMod to RFProxy; if RFServer receives
RFRouteInfo it forwards RFFlowMod)

RFClient can be compiled with support for RouteMod with the -DROUTEMOD_ENABLED flag. This will completely replace the RouteInfo,FlowMod structures with RouteMod. If the flag is left off, then the previous messages will be used.

This pull request supercedes https://github.com/CPqD/RouteFlow/pull/16.