Add chooser filters to LCM.
Enhancements for LocationChoiceModel

Added several configuration options:

- location_id_col: name of a column in the choosers table.
  If this option is given the choosers table will be filtered
  to include only rows for which this column is nan.
- choosers_fit_filters and choosers_predict_filters:
  For filtering the choosers table before model fit and prediction.
- interaction_predict_filters: For filtering the choosers/alternatives
  merged interaction table after the merge. Useful when it's necessary
  to filter based on comparisons of chooser and alternative properties.

In addition to the new options I changed the order of the arguments to
MNLLocationChoice so that all the filters can be optional.
Move targets/relocation rates filtering logic to models.util

The controls table and relocation rates tables share common formats
for specifying which agents a total or rate applies to. This moves
some common handling of those formats to models.util for sharing
between transition and relocation code.
Update TabularTransitionModel to work with segmented totals table
Refactor TransitionModel.predict methods to return indices of new rows
Refactor special purposes index creation out to functions.
Import relocation and transition models into urbansim.models namespace.
yaml-ifying location choice
Merge remote-tracking branch 'origin/semcog-expr' into mtc_branch
fixing the formatting of the estimation output