Additional test and documentation for the unicode() changes.

This patch should also be applied to the 2.2b1 trunk.
diff --git a/Misc/NEWS b/Misc/NEWS
index b7ea28c..522ba40 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -44,7 +44,7 @@
 - unicode(obj) now behaves more like str(obj), accepting arbitrary
   objects, and calling a __unicode__ method if it exists.
   unicode(obj, encoding) and unicode(obj, encoding, errors) still
-  require an 8-bit string argument.
+  require an 8-bit string or character buffer argument.
 
 - isinstance() now allows any object as the first argument and a
   class, a type or something with a __bases__ tuple attribute for the