Error handle
Changed some exceptions types to IOException and invalid parameters exception, logged some errors in dtor so we don't throw in dtor, and added doxyfile.
Changed some exceptions types to IOException and invalid parameters exception, logged some errors in dtor so we don't throw in dtor, and added doxyfile.