Add jvp_utf8_is_valid1() utility function

Just like jvp_utf8_is_valid(), but validates just one codepoint, and it
optionally outputs the length of that one codepoint in bytes.
Add jv string utility functions

    jv_string_empty()
        -> return an empty string with given allocated length (for fast
           appends)
    jv_string_truncate_bytes
        -> truncate a string by a given number of bytes (only if the
           resulting string is valid)
    jv_string_append_codepoint
        -> append a single codepoint (int) to the given string
    jv_string_explode
        -> return an array of codepoints making up a string
    jv_string_implode
        -> return the UTF-8 encoding of an array of codepoint numbers
Use uint32_t for codepoint in  jv_string_append_codepoint()
Add explode/implode jq functions to match jv API
Add startswith/endswith
Add string subtract/multiply/mod support

 - f_minus(string1, string2)
        -> if string1 ends in string2 return string1 without the string2
           suffix

 - f_multiply(string, number)
        -> string + string + .. + string -- number times

 - f_mod(string1, string2)
        -> if string1 states with string2 return the remained of string1
           after removing the string2 prefix

Still missing: f_div() support.