Fix misplaced from __future__ imports
Add __all__ to __init__.py, update docstrings
Rename all variables called "text" to "string"

This is to emphasize that it doesn't need to be text; any string of bytes is
acceptable.
Raise exception if call would use too much RAM