Combinatorics And Geometry Of Hilbert Schemes Of Points On Surfaces