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
The question here is what is input. So if the input is not type safe: e.g. you have no idea whether should it be an index or a key, then yes, implicit conversions are OK. However, UCL works with configurations, so API users likely know how these sorts of data are distinguished. Therefore, I'm not still convinced that we should mix types of indices and keys, otherwise we would hide too much under the hood.