Fixed destructors potentially throwing exceptions.
Added script for running unit tests repeatedly.
To make sure errors are handled, the file class should throw exception to signal failures, rather than returning true/false