Add input parameters to Service API and Task API classes which are deep copies of the corresponding input parameters of the model classes
Substitute all counting variables in the API classes (for example, if a task is started 3 times in a loop, do not provide the variable "i" in each callback, instead provide the ith iteration step, so 0, 1, 2
Add deep copy methods in Struct and Array, as they are used in the input parameters
Implement unit tests for the deep copy methods
Fix a problem where the parallel loop would not be properly started if it were the first statement in a task
Closes #14.
Changes: