Added `character()` support for algorithmic names.

Partially addresses #2. The equivalent support for `name()` would need some changes to the API, since it needs to write to the user-supplied buffer. (Note that #1 equally needs this change, anyway.)

For your information, by the way, `urllib.request` is not in Python 2. ;(
I think this would be somewhat clearer if it took `&mut &'a [u8]` and returned just `Option<u8>`.