fix Pearson logic for save_c also

Pearson stores the uncolliding value in a single collision.
check result with memcmp with -nul, not strcmp.
just save_c with utf8 not yet.
properly quote saved strings via B::cstring.
adjust tests to compile and run under MSWin32 (untested)