Diffeomorphisms of surfaces and their classification by fixed point data