Save last state of MC run even if there is no data container filename specified

The last_state of a MC run is currently updated only in conjunction with an actual write to file (see BaseEnsemble._write_data_container). The function _write_data_container can thus only be called when there is a data container filename specified. This is unfortunate because as a user it seems reasonable to assume I can specify a filename once I want to write to file and not before the simulation. In the current implementation I cannot restart a run unless I specified a data container when I initialized the ensemble, because the last state is never saved.

I suggest that _update_last_state is made independent of _write_data_container and is instead called at the end of the simulation regardless of whether self._data_container_filename is None or not.

@erhart 2018/10/30 - markdown fix

Edited by Paul Erhart