Add support for service reconfiguration and for service provision review

In support of PaaS-style use-cases where ManageIQ services are utilized to drive automation-driven provisioning, being able to reconfigure an existing service with new parameters is a requirement.  In support of this, services can now be flagged as reconfigurable, which will give the user the ability to modify the service parameters via the service dialog.  Once submitted, the reconfiguration request will use the existing approval process before invoking the assigned custom automation to perform the reconfiguration steps.
    
https://bugzilla.redhat.com/show_bug.cgi?id=1059834
This is confusing because you're iterating `.values`, but the params are `(v, k)`  Is the value a value and a key? And then we're accessing that temporary hash directly?  What about

```ruby
field.values.detect { |_v, k| k == wf.value(field.name) }.try(:first) || wf.value(field.name)
```