MT#6871 Fix subscriber editing.

- Migrate from custom subscriber struct to normal resultset.
- Properly handle boolean input in form processing (convert to
int, otherwise formhandler fails while cloning when doing the
processing).
- Properly handle profile set editing in API
- Cleanup of log messages
MT#6789 Fix empty string as email template id.

Causes creating customers to fail.
MT#6871 FIx subs creation if contract.external_id

Stupid copy/paste error using wrong contract var.
MT#3931 Fix reseller fetch in customercontact test
MT#6827 fix missing data in customer details
MT#6827 API pbxdevices GET

wip
MT#6827 API pbxdevices POST

wip
MT#6827 API POST/PUT/PATCH/DELETE of field devices
MT#6773 Remove DDP, shortcut for Data::Printer
MT#6789 API: handle subscriber email and profile.

Handle new email field.
Fix profile handling on subscriber creation.
MT#6843 API: only autogen pass if not provided
MT#6789 API: validate email template id

Its reseller needs to match the customer contact's reseller.
MT#6909 API: implement email template management.
MT#6827 Update api description for pbxdevices
MT#6909 API: add reseller rel to emailtemplates
MT#6827 API pbxdeviceprofiles GET
MT#6827 API pbxdeviceconfigs GET
MT#6827 API pbxdevicemodels GET