First sketch of app.lua and link.lua (+ link.h).
packet.lua: Added missing require("freelist")
link.lua: Added a real selftest() function.
app.lua: Added selftest based on simple App design.

Tests driving 1,000 packets through this partly-looping topology:

		 .--------.
		 v        |
    source --> join --> split --> sink

The code is messy and needs cleaning up.
link.h: Added link to ring buffer description on wikipedia.
app.lua: Added small benchmark to selftest.
Added packet.tenure() to inhibit reuse by deref().
Refactored 'link' code.

link_ring.{h,lua} is the low-level packet ring data structure.
app.lua contains the higher level bits.
packet.lua: Trivial numeric constant update.
app.lua: Added transfer() as convenient transmit-and-deref.
(Apps are now responsible for performing deref.)
app.lua: Messy experimental optimization changes.
app.lua: Revert 'local' declarations that didn't affect performance.
app.lua: Source now includes payload with packets.
report() calls back into apps.
intel_app.lua: First cut.
app.lua: Added relink() function to generate 'appsi' from 'apps'.
intel_app.lua: Added a 'Sink' app to selftest().
Use the new app.relink() function.