A general model of fatigue crack growth under variable amplitude loading