resource: allow overriding the default transport by an evironment variable.
resource-native: allow overriding the default transport by an evironment variable.
resource: don't assert if a resource-set dump does not fit the buffer.

Instead of asserting just make sure we don't overflow the buffer.
Additionally, if the buffer was too small for the full dump, add
a trailing '...\n' if that fits. When printed, this will provide
at least a visual clue about the insufficient buffer space.
common: print total memory usage in mrp_mm_dump.
lua-utils: allow object tracking to be enabled from the outside.

Added a function to enable/disable object tracking externally.
Currently this is used (in lua-murphy) to automatically turn on
object tracking whenever Lua memory tracking is enabled. Note
that once the first object has been allocated, the state of
tracking cannot be altered since it would have an effect on the
size of object userdata.
lua-utils: count active/dead objects per class.

Keep track of the number of active and dead objects per class.
This gives at least some idea/hint of memory consumption and
Lua object leaks even when object tracking is inactive.
lua-bindings: override allocator earlier, use simpler block tracking.

Looks like in all hastiness I missed that it is indeed possible
to override the Lua allocator before it has been used to allocate
any blocks. So... instead of blaming the Lua infra for a non-
existing deficiency, let's try to use it correctly. Instead of
first creating the interpreter state and only then overriding the
allocator, let's use the state creation routine which also takes
the allocator to use as an argument.

In all fairness, it is IMO still a deficiency that the interpreter
lets a busy allocator (one that has unfreed blocks) be overridden
without storing and passing the used allocators userdata along
with the allocated blocks of memory.

Now correctly overriding the allocator with a tracking one at _any_
time has a pretty steep performance penalty. The allocator first
needs to check if a block has been allocated by it and otherwise
pass it on to the previously active one. This is what we used to do
before this patch. With this patch, we choose lower runtime overhead
for the price of less flexibility (can't enable tracking dynamically
at any time).
lua-bindings: console commands for Lua GC and object dumps.

Added a console command for triggering, pausing, restarting and
reconfiguring the Lua garbage collector. Added another command
for dumping tracked active and dead Lua objects. You have to
enable Lua object tracking for this to show anything useful.
plugin-resource-native: adjust dump buffer if needed.