Multinomial Logit Contextual Bandits: Provable Optimality and Practicality