Remove debug prints in release builds and return error when fopen/fread fail

The first commit makes all of the debug printfs throughout the code disappear for release builds. In general, they were not that helpful and just cluttered the output of other programs. However, two errors were only reported via the debug prints. These were both in prussdrv_exec_program. The second commit adds code to return an error if fopen fails or fread doesn't read enough data.