Decomposition Algorithms for Generalized Potential Games