[fix] issue#11 - print only first 18 core registers.
getRegisters print only core registers

	- new method in cortex_m, to get register name
	- fpu registers are ignored when -g command is sent
gdbserver - only r0 to r16 are printed in getRegister
Merge pull request #13 from 0xc0170/dev_issue#11

[fix] issue#11
Merge pull request #12 from c1728p9/master

Fix socket race condition which can cause bytes to be dropped
Return an empty packet when command not supported

The GDB specification states that all unsupported commands should be
responded to with an empty packet.  This patch modifies the functions
handleMsg and handleQuery to return empty packets if an unknown
or unsupported command is received.  This fixes the problem where
the "C/C++ GDB Hardware Debugging" eclipse plug-in hangs when
attempting to debug.
Add extra flash sanity checks

When flashing make sure there are no overlapping write requests.
If there is an overlapping write request log it as an error but do not
overwrite the existing data.  This patch also changes the padding
value to 0xFF and converts the flash_watermark variable
to a local variable.