Implement Create/Show/Update/Delete of Contracts

Use sippeering contracts to update peering groups.
select only one billing_mapping per contract

select the billing_mapping which has an start_date and end_date closest
to the current time. do not select one that does not match the current time.

also prevent db error about multiple id columns by using 'me.id' in
the root controller
Correct management of billing_mappings

* When session->{create_peering_contract} is set, set the corresponding
product (sippeering).
* When changing the billing_profile create a new billing_mapping with
the start_date of now.
* Preselect the correct billing_mapping on the edit modal-dialog.
Add selenium test for peering controller
Use Custom Fields to check EmailList, IP address and Regexp

mantis: 0003081