Joseph Biden takes oath as 46th president