Bloomberg to give $42 million to help cities do more with data