Add the file user API.

Depends on the CC::FileStorage interface.
Add some docstrings to the file API.
Update and fix the file user API. Still WIP.