Veteran batsman Shaun Marsh posted his first Ashes ton and fifth in Tests to put Australia in a commanding position at the close on day two in Adelaide