[ADD] website_sale_coupon : allows to give a coupon to customer, with validity, available for some products

- Task: https://www.odoo.com/web#id=9507&view_type=form&model=project.task&action=333&active_id=131
- Pad: https://pad.odoo.com/p/r.ShuFMqJRjlBKDtpo
As you are in a model-level, method, I think you should not return dictionaries with some structured data, but either raise warnings or errors. The role of a controller will be to catch them and transform them info structured data to be rendered on the website.