Reset version numbering

From now on it will go from 0.1. Previous numbering internally was
A-0.0.X.Y, and it was too complicated and inconsistent (e.g. in internal
logs it was 0.0.1.3, in makefiles it was 1.3, in tags it was A-3).

Now it will be simply incremented upon every feature milestone.
io: files: Replace abstract interfaces with exported classes

Reasoning for that, is not being able to utilize C++ automatic cleanup
(aka RAII) without smart pointers, which I don't use very often.