An Adaptive Rank Continuation Algorithm for General Weighted Low-rank Recovery