While I disagree with garbage in, garbage out (Postel's law et al), the string
checks support users who just want to specify an IP instead of an (IP,port)
2-tuple. For example

```python
>>> pool = HTTPConnectionPool(..., source_address='192.168.1.110')
```

instead of

```python
>>> pool = HTTPConnectionPool(..., source_address=('192.168.1.110', 0))
```

Binding to an available port (port 0) is a non-surprising default and frequent
enough to be implicit.

Your library, however, so fair enough; I'll remove the string checks.