Plant disease resistance genes: structure, function and evolution