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.
Do not silently swallow exceptions.

"apis.user_class.agent_name" could throw a NoMethodError exception that
then would be silently ignored.
Fix doc indentation.
Add the FileNotFound specific error.
Remove trailing whitespace.
Fix Protogen messages not being correctly handled.
Manage mutex a better way.
Importing protogen v0.6.0-rc0.
Merge remote-tracking branch 'origin/topic/bf_add_file_storage_api' into develop