First pass at dynamic memory issues around random crashes
- Cleaned up how Shell.bitlashOutput dynamic memory is handled
- Added an explicit "free()" prior to every new malloc() for Shell.bitlashOutput

Ran a lead scout for 15 minutes, with about 50 commands called via HQ, without a
crash or a reset. Also tested badly-formed bitlash, and it returned the proper
error messages.

More review is needed as there are other malloc()'s that look like they're not
being freed.
Prevent double free for field commands
Dynamic memory cleanup, and move from static report buffer size to dynamic

- Running the command: "led.red; print free; led.off; print free" from
  HQ no more than five times would crash the Lead Scout.  Also running this
  command from the Serial Monitor more than five times would crash the
  Lead Scout.

-  After applying this change, I was able to run the above command over 30
  times with no crashing, both in HQ and the Serial Monitor.  Sometimes HQ
  was slow to send the command to the Lead Scout, but it always sent it after
  a few seconds. I attribute this to lag or perhaps Carlo--but it was not
  crashing the Lead Scout anymore.
Include lwm/phy/atmegarfr2.h in Piniccio.cpp

Pinoccio.cpp uses the TRX_CTRL_2_REG_s register, but didn't include any
header file for it. Previously, this just worked, but after the LWM
1.2.0 update, it seems this stopped working (probably because some
indirect include was removed).