Barack Obama to visit Scotland for charity fundraiser