Continuous DR-submodular Maximization: Structure and Algorithms