Basic MPLS decoder.
Add MPLS counter.
Check length before decoding each label.
Handle explicitly IPv6 and IPv6 labels as well as encapsulated ethernet.
Handle encapsulated ethernet without a PW by defaulting to ethernet
if a fall back.
Set decoder events for labels that shouldn't be seen on the wire.
Add unit tests to test for mpls decoder events.
Don't default to ethernet, ethernet should be preceded by a pseudowire.

If the payload type can't be determined, raise an alert.
Use ENGINE_SET_INVALID_EVENT when the packet is too small for an
MPLS header, and when the payload type can not be determined.
Fix MPLS decoder rules.