moving a lot of validation for cluster create requests from

solve time to request time, as well as adding additional checks
for required provider fields.
may be cleaner:
```
Provider provider = getProviderAndValidate(account, template, createRequest, entityStore);
builder.setProvider(provider);
```

up to you ;)