MPLS Decoder, v3

This update to the MPLS decoder sets events on labels that should not be seen on the wire and adds unit tests for them.  TM_ECODE_OK returned instead of fail per the comment on the previous PR.

Buildbot output:
- PR build: https://buildbot.openinfosecfoundation.org/builders/jasonish/builds/1
- PR pcaps: https://buildbot.openinfosecfoundation.org/builders/jasonish-pcap/builds/1

But this current 'best guess' approach only tries ethernet, right? If you want a true auto approach, you'd have to inspect the first couple of bytes to make an educated guess?

2 thoughts:
1) I like the idea to make it configurable. Perhaps we can add an option similar to what Snort does (fully compatible even?). Although an added 'auto' mode would be nice as well.
2) how would ppl debug this? Is it just something they would have to know about their network, or can we somehow provide meaningful feedback to the user?