Gcode: Ensure queued is initialized

This was a silly and obvious oversight from
6a3328dfe514e66a98c0cf5adc7252d333567e83. Thanks to wolfmanjm for
spotting it.
Merge pull request #104 from bgamari/edge

Gcode: Ensure queued is initialized
CircBuffer: move USBSerial buffers into USB ram to conserve main ram
CircBuffer: use actual size specified, report free space correctly
USBSerial: enough room in buffer for 2 full USB packets, plus a little extra to maintain alignment
USBSerial: call USBHW::usbisr() to drain queue when necessary
SimpleShell: cat: use puts instead of printf("%s") for efficiency
USBSerial: remove redundant commented code
Merge branch 'feature/USBSerial-works-outside-ISR-context' into edge
Reserve space for stack at runtime.

Adds support for STACK_SIZE make variable.  When this is set to a
non-zero value, the heap's growth will not extend into this reserved
area for the stack.  The MPU is also used to make sure that the stack
doesn't exceed this reservation.  If it does then a memory fault will
occur.  WARNING: These faults can be a bit difficult to debug since
they will encounter a stacking exception when they attempt to enter the
hardfault handler.  It is possible to glean information manually from
RAM to figure out roughly what was going one when the stack overflowed
though since most of the stack still remains in RAM.
Merge branch 'edge' into track_allocs