[NEW] Set properties of exceptions at any time
[NEW] Data type boundary checks to prevent compilations of bad binaries
[NEW] SettingsManager used for validating, reading and writing encoding profiles
[FIX] Removed unused headers
[CHG] Enums in codecs are changed to constant number if possible to prevent reading wrong value if any of the API changes
[CHG] Minor comment changes
[CHG] Better exception messages in file reader
[TODO] Change the exception messages for file writer too
[TODO] Add writer for codec profiles in SettingsManager