Add memory dump capability to leak detector

Rather than printf the contents of arbitrary memory into the leak detection report (which breaks UT on various compilers/platforms/optimization levels, and probably JUnit output), print out a hexdump-like view of the memory, with printable ASCII where possible.  the hex dump fits within 80 columns for people still running old tube terminals.

This fixes #398 and possibly #281. 

Example output:
```
/home/hbock/development/cpputest/tests/MemoryLeakDetectorTest.cpp:602: error: Failure in TEST(ReallocBugReported, CanSafelyDoAReallocWithANewAllocator)
	Memory leak(s) found.
Alloc num (768) Leak size: 150 Allocated at: /home/hbock/development/cpputest/tests/MemoryLeakDetectorTest.cpp and line: 604. Type: "new []"
	Memory: <0x1986a10> Content:
    0000: 88 09 be f8 8f 7f 00 00  88 09 be f8 8f 7f 00 00 |................|
    0010: cd cd cd cd cd cd cd cd  cd cd cd cd cd cd cd cd |................|
    0020: cd cd cd cd cd cd cd cd  cd cd cd cd cd cd cd cd |................|
    0030: cd cd cd cd cd cd cd cd  cd cd cd cd cd cd cd cd |................|
    0040: cd cd cd cd cd cd cd cd  cd cd cd cd cd cd cd cd |................|
    0050: 42 41 53 cd cd cd cd cd  50 00 00 00 00 00 00 00 |BAS.....P.......|
    0060: fb 02 00 00 00 00 00 00  10 6a 98 01 00 00 00 00 |.........j......|
    0070: 90 3e 56 00 00 00 00 00  3c 00 00 00 00 00 00 00 |.>V.....<.......|
    0080: 20 c8 7b 00 00 00 00 00  03 00 00 00 00 00 00 00 | .{.............|
    0090: 00 00 00 00 00 00                                |......|
Total number of leaks:  1
```

I tried to match the existing coding style, but I'm not sure I put the functionality in the right place.  If it's desired outside MemoryLeakDetector, it needs to move :) 
Ah - that should be '~' then for ASCII ;) I did that for two reasons - IMO the ASCII 'code point' limits are more visually explicit this way.  Also, 'char' is signed on lots of platforms, wouldn't that make it a signed/unsigned comparison? :)

I guess I could just cast to 'char' when pulling 'toAdd' from the buffer. I think I originally used unsigned char when I was using the comparison 0x20 <= x <= 0x7F, which caused warnings about 'char' always being <= 0x7F.  But then I realized 0x7F is unprintable!