Fix endianness detection on OS X

Signed-off-by: Sergey Nizovtsev <snizovtsev@gmail.com>
Fix default constructors of OXMTLV subclasses

Signed-off-by: Sergey Nizovtsev <snizovtsev@gmail.com>
Make OXMTLV getters constant
Optimize PacketIn getters
Bugfix: ICMPv4 TYPE match using incorrect enum.

Fix ICMPv4 TYPE match field to use OFPXMT_OFB_ICMPV4_TYPE instead of
OFPXMT_OFB_ICMPV4_CODE.
Bugfix: Incorrect length when using masked matches.

Fix OXMTLV to have the correct length (double the given length) when
masks are used.
Bugfix: Clear-Actions instruction too long.

Clear-Actions instruction must contain no actions, and must
total 8 bytes in length (not 12).
Bugfix: segfault with duplicate match fields.

Duplicate match fields caused a segfault in the destructor due to the
field num being present multiple times in the cur_tlvs_ vector, and the
destructor iterating over those entries and consequently deleting entries
in the oxm_tlvs_ multiple times. For reference, the destructor looks
like this:
Match::~Match() {
    for (std::vector<uint8_t>::iterator it = this->curr_tlvs_.begin();
        it != this->curr_tlvs_.end(); ++it) {
        delete this->oxm_tlvs_[*it];
    }
}
Remove one std::vector from of13::Match
Merge pull request #4 from ARCCN/master

Endianess and OXMTLV fixes
Merge pull request #6 from bertvl-netro/icmpv4_type_fix

Bugfix: ICMPv4 TYPE match using incorrect enum.
Merge pull request #7 from bertvl-netro/match_mask_fix

Bugfix: Incorrect length when using masked matches.
Merge pull request #8 from bertvl-netro/clear_actions_fix

Bugfix: Clear-Actions instruction too long.
Merge pull request #9 from bertvl-netro/duplicate_match_fix

Bugfix: segfault with duplicate match fields.