Spectral Techniques, Semidefinite Programs, and Random Graphs