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.
minimatch: optimize minimatch_more_specific using the bitmap

This turns the operation into linear time in the number of nonzero mask words,
instead of linear time in the total number of match words.
Merge into master from pull request #142:
compress of_match_t to save space (https://github.com/floodlight/indigo/pull/142)