Ben Stokes has been ruled out of all cricket for at least three months with a torn left hamstring. The England captain suffered the injury during the third Test against New Zealand in Hamilton.