Change ViewCollection.p.add() to handle creating models with subtypes correctly
Fix dialogue states to initialize their endpoints correctly
Clean up some unnecessary delivery_classes in tests.
Extract delivery_class from get_opted_in_bunches.
Use transport_type instead of delivery_class for subscription app.
Cleaner way to use transport_type instead of delivery_class.
Confirm with user before resetting a dialogue state's type
Introduce EntryEndpointView and ExitEndpointView to the dialogue screen
Prevent connections from being made on the same dialogue state
Tests for dialogue screen bad connection handling
Move grid setup from DialogueDiagramView to DialogueStateCollection
Fixed the choice state cancel button (StateView was doing an unnessary 'on model change, render', which was being reached before endpoint collections' 'on model remove, render' events
Use model.set() with {remove: true} instead of a clear() and set() when cancelling dialogue state model changes. Using clear() causes Backbone.relational to clear all relations associated to a model being removed, causing connections to disappear when endpoints are temporarily removed
Use model.set() without any options when cancelling dialogue state changes, we can rely on the Backbone.relational defaults
Give Lookup a '.findWhere()'
Add a isConnected() method to StateView and EndpointView
Only allow dialogue states without connections to be moved
Update app worker tests to use new-style conversation starting (for the most part) and fix reliance on tags and delivery class where necessary.
Merge branch 'feature/issue-439-choices-cant-be-added-to-a-dialogue-choice-state-after-a-reset' into feature/issue-446-basic-dialogue-screen
Merge branch 'feature/issue-441-dialogue-states-should-only-be-moveable-if-they-have-no-connections-attached' into feature/issue-446-basic-dialogue-screen