Osteopontin: a protein with diverse functions