Hales out for 99 as England seal five-wicket win