Supermodular Rank: Set Function Decomposition and Optimization