Add new method ucl_array_merge

Merges the contents of an array into an existing array
You don't need to add ref, since `array_append` propagates *move* semantics: if an object is transferred as non-const pointer, then the accepting function grabs reference. So if a user wants to keep own reference, then he or she needs to call for `ucl_object_ref` prior to using any function with move semantics.