Markets post biggest weekly gain in four months, Nifty Bank leads