Impacted versions:  All stable versions

Steps to reproduce:
1. Create a new mass mailing e-mail and add an unsubscribe button in that e-mail template
2. Make sure your `web.base.url` parameter is set in the format `http://www.yourwebsite.com` (without a '/' at the end)
3. Send out the mass mailing (not as a test e-mail but real e-mail!) and check the unsubscribe button in the recieved e-mail. You'll see that you get a correct unsubscribe link:
![image](https://user-images.githubusercontent.com/6352350/40048337-47f60340-5832-11e8-9f0f-b1e1bec1a085.png)
4. Go to Settings > Technical > Parameters > System Parameters and add a key `web.base.url.freeze` to make sure that your website URL won't be rewritten. Now change your `web.base.url` parameter from `http://www.yourwebsite.com` to `http://www.yourwebsite.com/`
P.S: If you copy the URL of your website in Google Chrome it always automatically adds '/' at the end of every web URL, so the `web.base.url.freeze` is only do demonstrate the same behaviour and to make sure the issue is easy reproducable.
5. Duplicate your mass mailing campagn and send this one out (not as a test e-mail but real e-mail!). You'll see that the unsubscribe link is not correctly generated:
![image](https://user-images.githubusercontent.com/6352350/40048498-b47ee7de-5832-11e8-9591-d0af3f5f38d2.png)


Current behavior: The unsubscribe button its link is not correctly generated when your `web.base.url` contains a `/` as last character. `http://www.odoo.com` would work, `http://www.odoo.com/` would not.
It is because of this line of code:
https://github.com/odoo/odoo/blob/19878d011f8abdc737b7b702c4c79632670d4b78/addons/mass_mailing/models/mail_mail.py#L102
This line of code will give an issue if the URL ends with `/` as it will do `http://yourwebsite.com` + `/'unsubscribe_from_list'`, which creates `http://yourwebsite.com//unsubscribe_from_list` instead of `http://yourwebsite.com/unsubscripe_from_list`, which then creates an unique URL

Expected behavior: both `http://yourwebsite.com` and `http://yourwebsite.com/` work for unsubscribing

return match.group(1) + urlparse.urljoin(domain, match.group(2))
        body = re.sub('(<img(?=\s)[^>]*\ssrc=")(/[^/][^"]+)', _sub_relative2absolute, body)
        body = re.sub(r'(<[^>]+\bstyle="[^"]+\burl\(\'?)(/[^/\'][^\'")]+)', _sub_relative2absolute, body)
        
        if mail.statistics_ids:
            tracking_url = self._get_tracking_url(cr, uid, mail, partner, context=context)
            if tracking_url:
                body = tools.append_content_to_html(body, tracking_url, plaintext=False, container_tag='div')
        return body
    def send_get_email_dict(self, cr, uid, ids, partner=None, context=None):
        
        res = super(MailMail, self).send_get_email_dict(cr, uid, ids, partner, context=context)
        mail = self.browse(cr, uid, ids[0], context=context)
        base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
        if mail.mailing_id and res.get('body') and res.get('email_to'):
            emails = tools.email_split(res.get('email_to')[0])
            email_to = emails and emails[0] or False
            unsubscribe_url= self._get_unsubscribe_url(cr, uid, mail, email_to, context=context)
            link_to_replace =  base_url+'/unsubscribe_from_list'
            if link_to_replace in res['body']:
                res['body'] = res['body'].replace(link_to_replace, unsubscribe_url if unsubscribe_url else '#')
        return res
    def _postprocess_sent_message(self, cr, uid, mail, context=None, mail_sent=True):
        if mail_sent is True and mail.statistics_ids:
            self.pool['mail.mail.statistics'].write(cr, uid, [s.id for s in mail.statistics_ids], {'sent': fields.datetime.now(), 'exception': False}, context=context)
        elif mail_sent is False and mail.statistics_ids:
            self.pool['mail.mail.statistics'].write(cr, uid, [s.id for s in mail.statistics_ids], {'exception': fields.datetime.now()}, context=context)
        return super(MailMail, self)._postprocess_sent_message(cr, uid, mail, context=context, mail_sent=mail_sent)