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'm not seeing where `is_finalized` is declared?  It didn't appear to be sent in as a context key in the view class.