Option to edit an existing contact, belonging to a customer

Mantis: 0003625
Add some fields to contacts form

also preselect the reseller in the contacts form
Mantis: 0003625
don't count terminated resellers in Dashboard

Mantis: 0003629
Validation on the replacement pattern of rewrite rules

Mantis: 0003197
Fix a typo on peering page: caller vs callee.
Use localtime in TS and set createtime for subs.

Consequently use server's localtime to align with auto-filled timestamps.
Set create_timestamp when creating subscribers.
Call end-user-contracts customers to avoid confusion

especially when the user navigates here from the Customer controller
Mantis: 0003605
fix missing include "NGCP::Panel::Utils::DateTime"
Option to select the number of rows in datatables table

enabled by helper.length_change
Mantis: 0003589
Only expose delete button to contacts with no contracts

else the delete fails anyway with foreign key constraint
Expose the contacts controller to Edit/Delete Contacts

Mantis: 3625
provide error message on "column" cannot be null

and by making the respective field not_nullable prevent this from even
happening
Mantis: 3677#c22033
Only show relevant domains on reseller details
Add accordion toggle button.
Group callflows by call_id

and for callflows with call_id "*_b2b-1" just show details for the
main call_id (which already includes the b2b traffic)
Fix saving preferences of type enum with empty value

when a preference with empty value is saved, this row was just
deleted from the db. This is not true for enums, because an empty string
is not always the default value. Therefore we only delete enum preferences
when their value matches the one of the enum, configured as default.

This can be checked, by setting the domain preference outbound_pai_user
to None, which resulted in wrong behaviour before.

Mantis: 3769
Fix syling of long labels in modal

Our forms use a fixed width per default, for nice alignment of multiple
form field. This is not neccessary on single-field preference forms.
Mantis: 3827
Suppress superfluous error messages "Value must be an integer"

and reduce the number of error messages of e164 Subfields, by merging
them into their parent
Mantis: 3723
Consistent naming: Web Username/Password vs CSC Username/Password

Mantis: 3819
Preserve the product_id when updating a billing_mapping

This had created a billing_mapping with product_id = NULL before, which
is no longer a valid option and caused the panel to fail