Fix #63: treewalker fails to handle bytes data from outwith html5lib

We do, ourselves, ensure everything we put in the tree is unicode
under Python 2; users, however, may not be so careful and assign
an attribute using a bare string, for example. We should handle
this gracefully under Python 2 by coercing gently into unicode,
failing in the normal way if we are unable to decode the bytes.

I (Geoffrey, the committer) am not entirely convinced this is the
right way to test this; on the other hand, a thorough testsuite for
the issues previously in the treewalker would be large, especially
considering the large number of treewalkers we support.