MSPs have approved the Scottish government's £30bn budget in a Holyrood vote which saw 70 members backing it and 52 members rejecting it.