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.
Update changelog for 1.0b2 changes.
Add fantasai, Marc, and Mike as contributors, and note the order.
Fix #67: BufferedStream returns unicode string.

This is a simple case of using a unicode string to join where we
should be using a bytes string.
Fix seeking to anything except 0 with BufferedStream.

Previously, given a non-zero location to seek to, we would always
seek to the start of the second buffered chunk.
Fix seeking to the end of the buffered data in BufferedStream.

Previously, you could only seek to the final character, and not the
current end of the buffered data.
Add tests for BufferedStream.
Fix #90: new PEP8 errors. These are both slight indentation bugs.
Fix #78: drop RecursiveTreeWalker.

Nothing has used this for years, and it shouldn't be used as it can
easily run out of stack (and a non-recursive algorithm is scarcely
more complex).
Move import/constants to top of file to match style.
Bump version number to 1.0b3.
Add changelog for 1.0b3 (uh, this ought to be have done before).
Bump version to 1.0b4
Add examples using urllib2 and urllib.request for HTTP Content-Type

I've seen many use html5lib completely ignoring any HTTP-layer given
character encoding. Would be better to lead them in the right direction.
Fix #83: Stop testing the DOM treewalker with pxdom

This hasn't actually been tested in years and almost certainly won't
work; furthermore pxdom isn't supported under Python 3 so it doesn't
provide any testing whatsoever for a strict DOM implementation there.
Push this as 0.99, after PEP 440 pushed pip to ignore pre-releases.

There are no significant changes in this compared with 1.0b3 (the
only changes are documentation/testsuite related).
Increment version number after 0.99 (provisionally 0.999).
Remove the isstring hack in lxml treewalker.

This fixes #115 as a result, as we're no longer type-sniffing strings.
Fix #127, add a work-around for CPython bug 20007.

The bug has been fixed upstream, but this works around it
on older Python versions.
This does not change any behavior on Python versions with the fix.
Add changelog for recently changed things.