X golang_str: Add ustr.decode for symmetry with bstr.decode and because gpy2 breaks without it

Without working unicode.decode gpy2 fails when running ERP5 as follows:

    $ /srv/slapgrid/slappart49/t/ekg/i/5/bin/runTestSuite --help
    No handlers could be found for logger "SecurityInfo"
    Traceback (most recent call last):
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/bin/.runTestSuite.pyexe", line 296, in <module>
        main()
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/pygolang/gpython/__init__.py", line 484, in main
        pymain(argv, init)
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/pygolang/gpython/__init__.py", line 292, in pymain
        run(mmain)
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/pygolang/gpython/__init__.py", line 192, in run
        _execfile(filepath, mmain.__dict__)
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/pygolang/gpython/__init__.py", line 339, in _execfile
        six.exec_(code, globals, locals)
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/eggs/six-1.16.0-py2.7.egg/six.py", line 735, in exec_
        exec("""exec _code_ in _globs_, _locs_""")
      File "<string>", line 1, in <module>
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/bin/runTestSuite", line 10, in <module>
        from Products.ERP5Type.tests.runTestSuite import main; sys.exit(main())
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/erp5/product/ERP5Type/__init__.py", line 96, in <module>
        from . import ZopePatch
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/erp5/product/ERP5Type/ZopePatch.py", line 75, in <module>
        from Products.ERP5Type.patches import ZopePageTemplateUtils
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/parts/erp5/product/ERP5Type/patches/ZopePageTemplateUtils.py", line 58, in <module>
        convertToUnicode(u'', 'text/xml', ())
      File "/srv/slapgrid/slappart49/t/ekg/soft/b5048b47894a7612651c7fe81c2c8636/eggs/Zope-4.8.9+slapospatched002-py2.7.egg/Products/PageTemplates/utils.py", line 73, in convertToUnicode
        return source.decode(encoding), encoding
    AttributeError: unreadable attribute

and in general if we treat both bstr ans ustr being two different
representations of the same entity, if we have bstr.decode, having
ustr.decode is also needed for symmetry with both operations converting
bytes representation of the string into unicode.

Now there is full symmetry in between bstr/ustr and encode/decode. Quoting updated encode/decode text:

    Encode encodes unicode representation of the string into bytes, leaving string domain.
    Decode decodes bytes   representation of the string into ustr, staying inside string domain.

    Both bstr and ustr are accepted by encode and decode treating them as two
    different representations of the same entity.

    On encoding, for bstr, the string representation is first converted to
    unicode and encoded to bytes from there. For ustr unicode representation
    of the string is directly encoded.

    On decoding, for ustr, the string representation is first converted to
    bytes and decoded to unicode from there. For bstr bytes representation of
    the string is directly decoded.
119 jobs for y/bstr+x/gpystr in 0 seconds
Status Job ID Name Coverage
  External
failed ERP5.UnitTest-Zope4Py3-pygolang-bstr

03:04:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

12:28:57

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr

00:26:46

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr

00:29:55

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr

00:32:52

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr

00:27:42

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

28:28:28

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

43:53:59

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

28:00:50

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

26:48:35

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

11:04:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:12

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:18

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:12

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:13

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:19

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:00

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:16

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:24

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:58

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

12:45:51

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:27

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:37

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

16:14:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:16

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:10:22

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:34

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:52

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:22

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

25:33:36

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:57:14

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

24:45:43

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:55

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:46:56

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

06:50:39

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:22

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:10:44

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

16:19:28

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:24

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:38

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

22:16:11

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:59

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:58

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:20

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:38

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:07:39

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

07:37:46

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:58

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

22:08:55

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:21

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:41:32

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:48

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:38

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:32

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:22

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:23

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

18:58:37

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:09

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:29

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

17:21:58

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

19:11:00

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:02:55

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:11

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:36:09

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:17

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:41

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:01

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:40:20

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

05:55:37

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:59

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:45

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:18

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:58:14

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:58:47

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:59

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:55:39

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:12

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:54

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:34

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:55:51

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:53

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:10

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:42

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:30

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:47

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:06:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:51

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:10:34

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

18:39:40

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:45

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:38:17

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:46

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

15:35:02

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:35:11

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:54

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:45

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:38:16

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

24:20:37

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:44:40

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:08

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

12:41:16

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:55

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

10:40:20

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:04:25

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

08:36:08

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:09:40

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:05:35

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

15:35:34

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

10:22:11

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

08:17:11

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:03:18

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

00:07:38

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

06:39:43

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

22:01:09

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

38:52:43

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

61:57:37

failed ERP5.UnitTest-Zope4Py3-pygolang-bstr-py2

41:26:03