write unicode strings instead of bytes when using lxml in Python3

workaround for https://bugs.launchpad.net/lxml/+bug/1282789
python3 compatible exec()
test more things!