I giveth 2k back to the heap.

With commit d79d4eff87ffb5c88f19a32bf23d26ba0e52225a I initialized
_sbrk()'s heap pointer to the wrong linker symbol which ended up
taking away 2k from the heap.

Also removed redundant arm-none-eabi-size call in makefile.
GcodeDisplay: Use iterator instead of indexing

This avoids allocations due to _M_leak since possible_command is
mutable.
Gcode: Make command const

This also kills allocations from indexing
SimpleShell: Reserve buffer before appending
Player: Pop Gcode before deleting
StreamOutput: Buffer allocated by malloc being freed with delete

Thanks to adamgr for noticing this.
StreamOutput: Kill dead code
Merge pull request #100 from bgamari/fixes

Various things encountered during search for source of heap corruption
Merge branch 'edge' into track_allocs

Conflicts:
	gcc4mbed/src/gcc4mbed.cpp
WRITE_BUFFER_DISABLE support in makefile.

Setting to WRITE_BUFFER_DISABLE to 1 will configure the MPU to disable
write buffering and eliminate imprecise bus faults.  Can make debugging
write faults easier.