Renames model and adds backend check

This pull request covers two main changes:
- Renames model `InterventionPointDeployments`  to `InterventionPointInteraction` and propogates the change
- Adds a backend check to prevent deletion of an experiment if the experiment has any intervention points installed in Canvas via `canvas.py` method `experiment_has_installed_intervention`

And two minor changes:

- Models.py change to enforce Experiment and Intervention Point name uniqueness in database
- Moves `log_intervention_point_interaction` appropriately lower in deploy_intervention so to only log before a turn
I think it's worth having a more explicit key name here to provide more context when looking through the associated template.