Array concat function

This PR implements an array concat function that supports array-to-array, element-to-array, and array-to-element concatenation. 

```
select ARRAY [1,2] || ARRAY[3];
select 1 || ARRAY [2,3];
select ARRAY [1,2] || 3;
   _col0
-----------
 [1, 2, 3]
(1 row)
```
This should be created with a size of `array.size() + 1`