Better error messages for Buffer operations.
Fix Buffer.__str__ to work with non-string items.
Add __repr__ to Buffer.