KotlinJvmBinaryFile exposes all information from its header

Concrete header classes replaced by kinds, instanceof checks removed, code simplified