An introduction to Heegaard Floer homology