make find_key and insert_key take an array index if the object is an array

Make ucl_object_find_key[l] support finding an array index, as well as a key

Make ucl_object_insert_key_common (and by
extension: ucl_object_replace_key, ucl_object_insert_key_merged, etc)
access an array index in place of a key if the object is an array
Same here. I disagree with the overall approach of implicit conversion of `const char *` to some numeric type as it cloaks a vast majority of errors indeed.