Breaking changes in Python 3 API

In addition to general Python 3 vs. Python 2 language differences, there are some breaking changes in some of the BNG Python 3 APIs compared to the legacy Python 2 APIs.

A common one across protocol related APIs is that Python 3 uses bytes as argument and return type where the Python 2 API uses the string type.

For other changes, see Breaking Changes section for details.