Fixed errors in the memory emulation of the test program

- Address range of instruction memory area
- The memory array was wrongly written to
Escape characters in outbound packages and unescape in inbound packages.

The characters '$', '#' and '}' need to be escaped. This is done as follows,
for example, the '$' character should be transmitted as the two character
sequence '{', '$' ^ 0x20.
Add support for the delete breakpoint (z0) command

Packet format: z0,addr,size, where addr is the address of a breakpoint to remove
and size is its size.
Added comments to the payload_extract method
Add assertions to ensure that the breakpoint set is kept consistent
Use str_to_int instead of strtol
Consolidate handle_z and handle_Z
Added a destructor to Server which closes the network socket
Changed parameter names in definitions of the *_breakpoint methods.