Add doxygen for parse_file, and throw exception if file cannot be opened.
Merge branch 'master' into array-of-hashes