add more tests, from RFC 3629
resolve security considerations when decoding utf-8 octet sequences.

for input form `110xxxxx 10xxxxxx`, if first 4 x bits are all 0, the rest 7 x bits should be encoded as 1 byte `0xxxxxxx`;

for input form `1110xxxx 10xxxxxx 10xxxxxx`, if first 5 x bits are all 0, the rest 11 x bits should be encoded as 2 bytes `110xxxxx 10xxxxxx`;

for input form `11110xxx 10xxxxxx 10xxxxxx 10xxxxxx`, if first 5 x bits are all 0, the rest 16 x bits should be encoded as 3 bytes `1110xxxx 10xxxxxx 10xxxxxx`;
rename Codepoint_to_UTF8/UTF8_to_Codepoint, use all lower case: codepoint_to_utf8/utf8_codepoint_to