Fix magn2539: Behavior mismatch between the "Create List" nodes

As "Create List" has variable input, we couldn't define a corresponding function as variable parameters not supported yet in DS. 

The idea is to extend builtin function ```Evaluate(fptr, parameters)``` to ```Evaluate(fptr, parameters, unpackParameter)```, the last parameter specifies if need to unpack input parameters or not when invoke function pointer. I.e., if unpack input parameters, calling form is ```fptr(parameters[0], parameters[1], ...)```; otherwise it is ```fptr(parameters)```. 

```DSCore.List.__Create()``` is added, which just simply returns its input. For "CreateList" node, if its all inputs are provided, AST compilation just simply returns an expression list instead of creating a function object points to ```DSCore.List.__Create()```