Parse parameters from orchestration templates

If you define constraints as an Array to being with, then you don't need this method:

```ruby
# remove the attr_accessor on constraints (you don't want someone replacing the array - unless maybe you do)

def constraints
  @constraints ||= []
end

# Then the caller does this, which is more natural since they know it's an Array

constraints << new_constraint

# instead of

add_constraint(constraint)
```