compress of_match_t to save space

Reviewer: @poolakiran

This module takes advantage of the fact that matches are usually sparse and compresses them to drastically reduce memory usage. With 200000 flows memory consumption dropped from 183 MB to 98 MB. As a bonus, it increases flow-add performance by 10% in my benchmark.

This module was inspired by the OVS one of the same name, but none of the code is shared.