uncaught NFE and other bugs in weight status document processing

While waiting for OOM in #19249 (moved) I encountered this

Exception in thread "main" java.lang.NumberFormatException: For input string: "0,000086161974"
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250)
	at java.lang.Double.parseDouble(Double.java:540)
	at org.torproject.onionoo.docs.WeightsStatus.setFromDocumentString(WeightsStatus.java:71)
	at org.torproject.onionoo.docs.DocumentStore.retrieveParsedStatusFile(DocumentStore.java:500)
	at org.torproject.onionoo.docs.DocumentStore.retrieveDocumentFile(DocumentStore.java:484)
	at org.torproject.onionoo.docs.DocumentStore.retrieve(DocumentStore.java:363)
	at org.torproject.onionoo.updater.WeightsStatusUpdater.updateWeightsHistory(WeightsStatusUpdater.java:64)
	at org.torproject.onionoo.updater.WeightsStatusUpdater.processRelayNetworkConsensus(WeightsStatusUpdater.java:54)
	at org.torproject.onionoo.updater.WeightsStatusUpdater.processDescriptor(WeightsStatusUpdater.java:39)
	at org.torproject.onionoo.updater.DescriptorSource.readArchivedDescriptors(DescriptorSource.java:197)
	at org.torproject.onionoo.updater.DescriptorSource.readDescriptors(DescriptorSource.java:83)
	at org.torproject.onionoo.cron.Main.updateStatuses(Main.java:188)
	at org.torproject.onionoo.cron.Main.run(Main.java:122)
	at org.torproject.onionoo.cron.Main.runOrScheduleExecutions(Main.java:96)
	at org.torproject.onionoo.cron.Main.main(Main.java:32)

The code is here:

   double[] weights = new double[] { -1.0,
            Double.parseDouble(parts[5]),
            Double.parseDouble(parts[6]),
            Double.parseDouble(parts[7]),
            Double.parseDouble(parts[8]), -1.0, -1.0 };

Might be due to the locale of the server, but should be caught and logged.

Maybe, use this ticket to scan the code for similar things?