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.