Factor GUIDMixin definition in a new file.

* Abstract initialization of GUIDMixin inside
  initialization of CryptoPeerConnection
* Coerce string to GUIDMixin when adding contact.
Support unicode GUIDs.

* Add a deprecation comment for future comparisons
  against subclasses of basestring.
Test GUIDMixin.

* Also test CryptoPeerConnection subclassing.
Update documentation.
Merge pull request #693 from Renelvon/guid_is_unicode

Abstract GUIDs. Properly support unicode GUIDs.
Disallow function redefinitions (E0102).
Silence pylint warnings on behave tests.

* Naming all steps as `step_impl` is conventional.