Mechanisms of bulk and surface diffusion in metallic glasses determined from molecular dynamics simulations