Transition model- handle agent segments of length zero and certain control total conventions

Control totals tables that are heavily segmented may imply agent types that do not exist.  Instead of stopping the simulation, we can log a message notifying the user of the nonexistence, then continue.  Also, certain changes were made to the _filterize function in utils so as to handle existing urbansim conventions regarding control total table format.  These changes were motivated by use of SEMCOG's household control totals in full detail.
This should be a preprocessing step since this would cause problems if -1 was the actual desired maximum value. If you set a filter value to `NaN` that filter will be skipped, which is the desired behavior here. E.g. `x > 20 and x < np.inf` is the same as only filtering on `x > 20`.