Add memdebug functions and defines
expose free memory calls to bitlash via scout.free
Move showMemory scope to global
Deep debug session, found problem at memcpy in leadHQHandle
No memory leaks in leadHqHandle!
Removed extraneous debug
fix whitespace
remove more debug output
move memdebug output to use bitlash for HQ output
Fix up possible realloc memleak
Migration to String class for select handling
- Moved leaky char* buffers to String classes
- Changed *reportHQ functions to serial print internally
Add StringBuffer class

This class will help simplify the handling of various buffers in this
library. It uses the Arduino String class for handling the memory, but
adds some methods that make efficient use of the String class easier
(which is not otherwise possible since it needs access to protected
members).
Let StringBuffer reserve memory block by block

Specifically, this adds a reserveBlock() method that does the same as
the regular reserve method (make sure the buffer size is at least the
value passed), but rounds the allocation size up to a multiple of the
block size (which is passed to the constructor).

Note that reserveBlock is only used by the StringBuffer methods and not
by the inherited String methods and operators. Specifically, this means
that using e.g. += will not do block reservation, but e.g. appendSprintf
will.
Add PrintToString class and printToString function

The class allows creating a Print object that prints to a string in
memory.

The function allows the same, but requires creating a new
function for every String printed to and requires the String to be
non-static global variables. This limits the usefulness of the function,
but until bitlash learns how to redirect its output to Print objects
instead of functions, this function should do.