Low-Rank Semidefinite Programming: Theory and Applications (Foundations and Trends in Optimization)