delayed the creation of performance counter (lazy loading) to prevent small gui freez

and surrounded them with a try catch
fix check for number of pings to be able to calculate avg,dev,min,max. bug was that a completely failed test would have resulted in avg = 0 instead of avg = null as it should.
add the "*" char to failed tests in the chart to make them different from extremely good results (avg 0, dev 0)

also done minor changes to prevent null realted crashes after the previous commit that made possible to have avg = null
major update, added a way to analyze saved results by days... lot of things has being modified... old serialized data is still compatible
add sort by hour when charting
improved deserialization speed using tasks