Theory And Algorithms For Structured Nonsmooth Optimization