refactor send to sms zones code to fix known bugs

There was a major bug in the system cause by how the dynamic zones were created in the first place. The procedure used the add_to_class method for models, which meant:
- When new zones were added, the server had to be re-started.
- New models couldn't be added without causing the unittests to break, as the add_to_class function failed.
With this in mind, a new zones view has been created and a dynamic form is used to populate create the zones.