_init_vio(): try readinto(), fall back to read()

Change argument name fObj to file.

Return dict directly instead of creating a local variable.
Add available_formats(), available_subtypes() and format_check()
Add open(), read() and write() functions