New method for writing frames and add a write lock

- Add the ability to add multiple frames to the buffer
- Add a write lock to prevent frames being written out of order
Update content waiting to include Channel.CloseOk

This allows for RabbitMQ to close the channel when we're not expecting it.
Add a opnionated flag and change auto_id

This commit changes the behavior of message creation, adding a new flag called opinionated. This will replace the auto_id flag in future versions. As of this commit, using auto_id will raise a DeprecationWarning. In future versions, opinionated will default to False.

This change also changes message publishing to use Channel._write_frames instead of _write_frame to prevent a race condition where frames can be written interspersed across different messages.
Add setup.cfg for wheel
Add wheel distribution
Attempt to address select.error issues from #43

Without a backtrace, I'm guessing this is where the error is being raised.
Fix merge conflict
Update versions in the docstring notes on deprecation
Bump version and history