pflua-match: Work on arrays of packets, not pointers

This change makes the filter function much tidier, but massively increases performance variance on small data sets (it evens out on larger ones). It retains the property of having no CNEWI calls, as does the sink_cnewi branch, but not master.
I googled it up as it also interested me. First I found this page http://springrts.com/wiki/Lua_Performance#TEST_9:_for-loops. It seems that pairs and ipairs can be 200% slower than indexing. The bottom line is do not use pairs and ipairs for critical code.

I wondered if this applied too for Luajit so I coded a similar test at https://gist.github.com/dpino/647b9d2e12aa8ff859b4 and it turns out that in Luajit ipairs is "only" 80% slower than indexing, but pairs is much more slower than ipairs and indexing. Pairs is 5 times slower than ipairs and 9 times slower than indexing.