pepa_model accepts model_strings

Updated pypepa/pepa_model.PEPAModel such that they can now be created with just a model string rather than necessarily from a file. I didn't have recalculate call __init__ because __init__ actually sets some fields to None (including self.solver). Hence both __init__ and recalculate call _parse_model which does the correct thing depending on whether the file name or model string is set. Note also that now __init__ sets self.model_filename and self.model_string such that these are easily accessible rather than going through self.args.