Fixed memory leaks in example.c

Reported by valrgind as
12 bytes in 1 blocks are indirectly lost in loss record 1 of 5
    at 0x4C2A1C0: malloc (in vgpreload_memcheck-amd64-linux.so)
    by 0x403ACA: ssw_align (ssw.c:708)
    by 0x400980: main (example.c:146)

52 (40 direct, 12 indirect) bytes in 1 blocks are definitely lost in loss record 2 of 5
    at 0x4C28070: calloc (in vgpreload_memcheck-amd64-linux.so)
    by 0x402554: ssw_align (ssw.c:785)
    by 0x400980: main (example.c:146)

80 bytes in 1 blocks are indirectly lost in loss record 1 of 3
    at 0x4C2A1C0: malloc (in vgpreload_memcheck-amd64-linux.so)
    by 0x401CFF: ssw_init (ssw.c:99)
    by 0x40091F: main (example.c:142)

160 bytes in 1 blocks are indirectly lost in loss record 2 of 3
    at 0x4C2A1C0: malloc (in vgpreload_memcheck-amd64-linux.so)
    by 0x402291: ssw_init (ssw.c:353)
    by 0x40091F: main (example.c:142)

288 (48 direct, 240 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3
    at 0x4C28070: calloc (in vgpreload_memcheck-amd64-linux.so)
    by 0x401B00: ssw_init (ssw.c:742)
    by 0x40091F: main (example.c:142)
Fixed memory leaks in ssw_cpp in case of non-default translation matrix.

The leak was reported by valgrind as:
128 bytes in 1 blocks are definitely lost in loss record 1 of 1
   at 0x4C294E0: operator new[](unsigned long) (in vgpreload_memcheck-amd64-linux.so)
   by 0x404CD8: StripedSmithWaterman::Aligner::Aligner(signed char const*, int const&, signed char const*, int const&) (ssw_cpp.cpp:288)

Also fixed a leak in Rebuild().

Got rid of matrix_built_ -- check translation_matrix_ pointer for NULL
instead.
Got rid of default_matrix_ too as the actual logic using it was wrong --
instead always perform a full copy of the translation matrix (even in
case of default one).