Efficient Algorithms with Performance Guarantees for the Stochastic Multiple-Choice Knapsack Problem