Job reporting fixes

Job reporting has some inconsistencies which causes confusing behavior. 

If harvest job is executed and there are zero new revision, the harvest job never receives job finished timestamp.

If harvest job is executed again, it refresher all harvested datasets, but since it creates new HarvestObjects, they don't have report_status saved and the job report shows that all datasets are deleted although nothing actually changed.