First complete pass at modeling flow_tables

This provides a complete model for flow_tables and a test based on a simplified
version of the example from the spec.

A few current problems are:
* The properties priority and priority_rank can be a string or an integer in the
  spec, but must be a string in the model as it stands. This could possibly be
  fixed with unions in the future.
* Empty lists, e.g., "match_set": [], must be omitted. This shouldn't be an
  an issue as I don't think the spec differentiates between empty and omitted
  lists.
* The meta-member keywords: all, one_or_more, zero_or_more, exactly_one, and
  zero_or_one are currently not supported as intended. It's unclear if that will
  be possible or not.

Change-Id: If8a669c08055cbe90d3355e8beee5143e245d846
Signed-off-by: Colin Dixon <colin@colindixon.com>