Optimization: New packet reference counting rules for apps.

The app (and link_ring) transmit and receive functions don't do
reference counting anymore. Apps must determine what impact they have
on refcount (+/-) and call packet.ref() and packet.deref() directly.

Most apps don't affect refcount - the pass packets through from one
port to another - and these don't need to make and ref() or deref()
calls.

For convenience, packet.ref() and packet.deref() now take an optional
'n' parameter specifying the refcount increment/decrement.

Why? ref() and deref() were performance hotspots and this reduces the
number of calls. Apps that don't affect refcount used to call both
ref() and deref() but now they call neither.

app.transmit() is also removed as it is now redundant.