Finished mostly working version of asynchronous optimization. Considering adding a few rounds of distributed averaging afterwards to improve the estimate.