Expected a bytes-like object in prepare_auth

I'm using [python-intercom](https://github.com/jkeyes/python-intercom) which requires requests 2.6.0. I have been using requests outside of that as well, and recently upgraded from 2.11.1 to 2.12.3.

python-intercom then stopped working (but works when I revert to requests 2.11.1). I haven't dug through the python-intercom code yet to figure out exactly what is going on. I'm happy to stick to 2.11.1, but since the requests website suggests that there should be no breaking changes with minor releases, I figured I'd post here.

Stack trace:
```
Traceback (most recent call last):
  File "/tmp/Potato/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)
  File "/tmp/Potato/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/tmp/Potato/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/vagrant/PotatoMain/views/user.py", line 39, in auth_callback
    login(request, user)
  File "/tmp/Potato/lib/python3.5/site-packages/django/contrib/auth/__init__.py", line 130, in login
    user_logged_in.send(sender=user.__class__, request=request, user=user)
  File "/tmp/Potato/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 191, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/tmp/Potato/lib/python3.5/site-packages/django/contrib/auth/models.py", line 25, in update_last_login
    user.save(update_fields=['last_login'])
  File "/tmp/Potato/lib/python3.5/site-packages/django/contrib/auth/base_user.py", line 80, in save
    super(AbstractBaseUser, self).save(*args, **kwargs)
  File "/tmp/Potato/lib/python3.5/site-packages/django/db/models/base.py", line 796, in save
    force_update=force_update, update_fields=update_fields)
  File "/tmp/Potato/lib/python3.5/site-packages/django/db/models/base.py", line 833, in save_base
    update_fields=update_fields, raw=raw, using=using)
  File "/tmp/Potato/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 191, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/vagrant/PotatoMain/signals.py", line 14, in feed_post_save
    intercom.User.create(email=instance.email)
  File "/tmp/Potato/lib/python3.5/site-packages/intercom/api_operations/save.py", line 12, in create
    response = Intercom.post("/%s/" % (collection), **params)
  File "/tmp/Potato/lib/python3.5/site-packages/intercom/__init__.py", line 171, in post
    return cls.request('POST', path, params)
  File "/tmp/Potato/lib/python3.5/site-packages/intercom/__init__.py", line 163, in request
    method, cls.get_url(path), cls._auth, params)
  File "/tmp/Potato/lib/python3.5/site-packages/intercom/request.py", line 47, in send_request_to_path
    auth=auth, verify=certifi.where(), **req_params)
  File "/tmp/Potato/lib/python3.5/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/tmp/Potato/lib/python3.5/site-packages/requests/sessions.py", line 474, in request
    prep = self.prepare_request(req)
  File "/tmp/Potato/lib/python3.5/site-packages/requests/sessions.py", line 407, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/tmp/Potato/lib/python3.5/site-packages/requests/models.py", line 306, in prepare
    self.prepare_auth(auth, url)
  File "/tmp/Potato/lib/python3.5/site-packages/requests/models.py", line 527, in prepare_auth
    r = auth(self)
  File "/tmp/Potato/lib/python3.5/site-packages/requests/auth.py", line 68, in __call__
    r.headers['Authorization'] = _basic_auth_str(self.username, self.password)
  File "/tmp/Potato/lib/python3.5/site-packages/requests/auth.py", line 38, in _basic_auth_str
    b64encode(b':'.join((username, password))).strip()
TypeError: sequence item 1: expected a bytes-like object, NoneType found
```

Hey @raphaeltm, thanks for opening a ticket. This has been addressed in #3758 and is working on master. It should be fixed when the next release ships.

Yup. In the meantime, python-intercom can resolve the issue by not passing objects that aren't strings as auth objects.