OFStateManager: fix flow checksum use of table_id

The bsn_flow_checksum extension uses the table id to determine which table and
bucket checksums to update. The checksum update is done in ft_add, which uses
entry->table_id. However, ft_entry_create was not initializing the table_id
fields. Instead, for OF 1.1+, the table id was set after the call to
indigo_fwd_flow_create. This was to support the OF 1.0 feature where the
switch could choose which table to insert the flow into.

The new flowtable API does not support returning a table id, and no Indigo
switches use this feature. I'm removing it. The new code is simpler and
initializes table_id when the flow checksum code expects it to.
Merge into master from pull request #140:
OFStateManager: fix flow checksum use of table_id (https://github.com/floodlight/indigo/pull/140)
minimatch skeleton
minimatch: initial implementation

Not optimized yet.
minimatch: optimize minimatch_equal
minimatch: optimize minimatch_more_specific
minimatch: optimize minimatch_expand
minimatch: optimize minimatch_init
minimatch: optimize minimatch_overlap
minimatch: optimize minimatch_hash
OFStateManager: store minimatch instead of of_match_t

With 200000 flows this reduces total heap usage reported by massif from 183 MB
to 98 MB.

This change expands the minimatch everywhere the match is used. This regresses
performance. Future changes will do performance-critical operations directly on
minimatches.
OFStateManager: use minimatch in queries

This is for speed, not space. The minimatch is much smaller than of_match_t, so
it's faster to compare.
OFStateManager: use minimatch_hash
OFStateManager: parse match and minimatch only once when adding a flow

The match is parsed and minimatch created in flow_mod_setup_query. It was also
done again in ft_entry_create. Both of these operations are expensive, so it'd
be better to do it only once.

This change moves out the minimatch after the struct match query is done, and
moves it in to the ft_entry.