Analysis of non-reversible Markov chains