cpp: Array: Make sure the array passed to array_fill ist passed by reference

When creating a new Array object, for example through PList::Node::FromPlist(plist_t node),
the array_fill function is called from Array() constructor in line 51.
It seems that the intended way of calling array_fill() is to pass the _array
object by reference, however it is actually passed by value. Thus the changes
to the array object made by array_fill() are discarded when the function
returns.
This commit passes the _array by reference so we keep the changes.
diff --git a/src/Array.cpp b/src/Array.cpp
index 65ffaa7..23f9922 100644
--- a/src/Array.cpp
+++ b/src/Array.cpp
@@ -32,7 +32,7 @@
     _array.clear();
 }
 
-static void array_fill(Array *_this, std::vector<Node*> array, plist_t node)
+static void array_fill(Array *_this, std::vector<Node*> &array, plist_t node)
 {
     plist_array_iter iter = NULL;
     plist_array_new_iter(node, &iter);