Comparative study of CO adsorption on flat, stepped, and kinked Au surfaces using density functional theory