fix utf8 errors, new opt_dict_size() helper

the utf8 errors were caused by the new exhaustive keysearch,
which stumbled upon the new empty keys.
skip empty keys now in the generated main.c

simplify -size and -dict handling
TODO failing cmph utf8 tests.