Oxygen adsorption on Si(100)-2×1 via trapping-mediated and direct mechanisms