Bernardo Silva finished off a slick Manchester City counter-attack with a sublime volley against Aston Villa.