Fast Approximation Algorithms For Graph Partitioning Using Spectral And Semidefinite-Programming Techniques