Support for two choice modes

Users of MNLDiscreteChoiceModel can choose either
'individual' or 'aggregate' mode for matching choosers
to alternatives during prediction.

In 'individual' mode a choice is made individually for every chooser
and each chooser has access to all alternatives.

In 'aggregate' mode choices are made for every chooser at the same time,
which implies that alternatives are unavailble to others once chosen
and that all choosers have the same probabilities over alternatives.
'aggregate' mode should only be used with 'single_chooser'
probability mode.