John Swinney has dropped his promise not to raise income tax for Scots in the next Budget - just over a week after ruling it out.