addressing ZODB/issues/12, encode `request.path_info`before passing it to `transaction.note`

As discussed in https://github.com/zopefoundation/ZODB/issues/12 I too have unicode urls in my project and this issue blocks me when I try to update a context object with unicode in path_info
```
File "/home/chao/projs/venvpython2/local/lib/python2.7/site-packages/ZODB-4.0.0-py2.7.egg/ZODB/FileStorage/format.py", line 287, in asString
    return b"".join(map(as_bytes, [s, self.user, self.descr, self.ext]))
  File "/home/chao/projs/venvpython2/local/lib/python2.7/site-packages/ZODB-4.0.0-py2.7.egg/ZODB/utils.py", line 75, in as_bytes
    return str(obj)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)
```
This update of mine fixes the problem, though I'm not sure if I didn't break anything else.
It was done initially in commit d902b85, but it failed tests in py3 environment. To be honest - I am not qualified enough in py3, so I moved the call under `if` check.