filestore: fix parsing bug

Filestore keyword can have options or no options, and the parser
was enforcing the NOOPT flag too strictly.

Bug #1288
Don't require an action-order configuration section. If not present,
use the defaults.
Comment out in the action-order section, as its not needed if
the default configuration is used.
lua detect: expose stream payload

Allow a script to set the 'stream' buffer type. This will add the
script to the PMATCH list.

Example script:
alert tcp any any -> any any (content:"html"; lua:stream.lua; sid:1;)

    function init (args)
        local needs = {}
        needs["stream"] = tostring(true)
        return needs
    end

    -- return match via table
    function match(args)
        local result = {}

        b = tostring(args["stream"])
        o = tostring(args["offset"])

        bo = string.sub(b, o);
        print (bo)

        return result
    end

    return 0
runmode-pfring: Suppress errors when using DNA/ZC

PF_RING DNA/ZC don't use cluster-id and cluster-type. Therefore,
skip setting these values if DNA/ZC is being used.

Bug #1048
runmode-pfring: Fixed typo s/fron/from/
configure.ac: Moved libpcap before libpfring

Moved the libpcap section in configure.ac before libpfring to
enable libpfring to use the specified libpcap includes and
libraries when testing for libpfring support.

Bug #1294
detect state: always lock de_state_m

Always lock the de_state_m on access, also at flow recycle or
cleanup.
tcp session reuse: reset detect state

Reset the detect state on TCP session reuse. We reset the app layer,
so we need to reset the stateful detection as well.
Speed up SigMatchGetLastSMFromLists()

SigMatchGetLastSMFromLists() is finding the sm with the largest
index among all of the values returned from SigMatchGetLastSM() on
the set of (list and type) tuples passed as arguments.

The function was creating an array of the types, then creating an array
of the results of SigMatchGetLastSM(), sorting that list completely, then
only returning the first values from the list.

The new code, gets one set of arguments from the variable arguments, calls
SigMatchGetLastSM() and if the returned sm has a larger index, keeps that
as the last sm.
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.