Added support for custom file path; added variable key to error messages; replaced custom test scripts with nodeunit