* Refactor device listing formatter with declarative style
* Refactor device edition formatter with declarative style
* Consolidate device edition data fetcher
* Consolidate device edition data formatter
* Generate addable device types from static list
* Allow for device types without edition template to be deleted
* Add assign to template
* Get users for the template
* Add translations
* Load in assignTo template
* Handle no owner case
* Fix translation reference
* Adhere to linter
* Clean up code
* Fix code style
* Update translation to be in devices.popupSettings
* Get user list in devicesGetEditData
* Fix templating
* Add default value to dropdown
* Remove error from listUsers call
* Rename usersData to users
* Ensure deviceData.users is not save to device
* Move users field to extra
* Move delete statements
* Move translations to popupsettings
* Move sub-module templates in their own `views` folder
By using `getTemplate()` we can specify which sub-module a template is
related to, enabling this behavior.
The templates names were shortened by stripping the name of their
sub-module from it since they are stored under their sub-module folder.
String templates are created using `getTemplate()` instead of
`monster.template()` that we are trying to depreciate.
* Only use `getTemplate()` for both regular and string templates