UTF8proc: return correct category code for Cn code points

libutf8proc currently returns 0 (an invalid general category code) for
code points in UTF8PROC_CATEGORY_CN (Unassigned; reserved). This patch
intercepts a 0 return code and replaces it with UTF8PROC_CATEGORY_CN in
category_code().

Also changes is_assigned_char to use the intended Unicode general
category (Cn) instead of 0.

cc: @stevengj