Parsers - Abstract writing to file, optimize needs_reparse()

All writing of files in this module has been abstracted into config.write()

config.write() will make sure that config._is_dirty is set to false
so that config.needs_reparse() does not have to do a filesystem walk right after a save to check
if config needs to be reparsed.
Model/get_by_shortname - Clarify if conditions