read/write support for NonLinLoc formats

This PR is for..
 - writing NonLinLoc phase files from Catalog/Event (to use in NonLinLoc location runs)
 - reading NonLinLoc hypocenter-phase files into Catalog/Event files (to use internally or output to QuakeML)
Is there a more specific exception that can be used here?