Some class name refactoring, using Parser, Encoder class name suffix.
Ensuring wrapped readers close underlying resources
Added initial support for validation