nx: Add NXM size-hinting

Formerly, things like register moves could guess the number of bits to
copy, but did so based on the number of bytes in the nxm_entry (just
multiplying it by 8).  This doesn't work for fields with sizes that
aren't multiples of 8, so they had to be specified by hand.  This lets an
nxm_entry subclass set _size_hint or override _get_size_hint() to
make it whatever it wants.
packet: Improve MPLS support

* Includes MPLS in __init__
* Handles decoding of nested labels
* Adjust MPLS ethertype string conversion to be consistent with constant
* Tighter stringizing for MPLS
nx: Make nx_match easier to use

It can be confusing when you set an attribute on nx_match which doesn't
actually correspond to an NXM type.  You end up just creating a worthless
attribute which doesn't actually contribute to the match and which doesn't
generate any error.

This patch "locks" the nx_match after it's created, so trying to write new
attributes will raise an exception, alerting one to the fact that one's
intention is not going to be honored.

Note: We have seen similar bugs in the wild with ofp_match too -- it might
make sense to do something similar there as well.
nx: Don't alter attribute name in nx_match

Previously, we used an attempted "fixed" attribute name in the fall-through
case of nx_match (when there's no corresponding match type), so either
a new attribute may end up with a weird name, or the exception text
referred to a name that wasn't the one the user actually used.  Fixed.
nx: In nx_match, do magic with OXMs as well as NXMs

We previously only did all the magic attributes in nx_match with names
starting with "NXM_".  We might as well do it with "OXM_" names too.
nx: Add MPLS push and pop actions
nx: Add MPLS match types from OpenFlow 1.2+.

Technically these don't belong in NX, since they're from OpenFlow 1.2 and
1.3 and not Nicira Extensions.  They work with OVS, though, and OVS
doesn't define its own equivalents, so we'll put them in here at least
for now.  When we have real 1.2 support, maybe we should move them.