Initial support for "extensions"

Initial support for "extensions". Extensions allow a user of a CSV-entity-based library to read and write additional data fields that were not original defined in the schema of library entities, without having to modify the library entities source code.