Add additional validation for environments/queues
When creating a new experiment, there's an additional check that is done for the validity of the environments/queues combination selected that is performed on save.
This currently does not play nice with the API side as it triggers an error 500 which should rather be a validation error. Therefore the check is now done in the validate method so that this use case is better handled and allows for a correct error message to be returned.
Also, now if we get an error when creating a new experiment, an APIError is generated with it.