Sparse recovery: Fundamental limits, measurement constructions and graph constraints