Contracts improvements

Adds:
 * Contract_group
 * Changes logged in mail.thread
 * Search on child code for contract assignements

Fixes :
 * Contract_line access rules
 * Travis PEP8 and headers (Travis doesn't complain anymore for recurring_contract nor sponsorship_compassion)
 * Mandatory correspondant

Removes :
 * Grouping option in invoicer wizard. Now, if you don't want grouping, you should create 2 groups, or set different next_invoice_date on contracts.
As many contracts may refer to same contract_group, we want unique group ids.
Casting is because function has to return a list of ids.