Merge pull request #20 from synthicity/mtc_branch

YAML Saving and Loading

With this RegressionModel and MNLLocationChoiceModel can have their configuration saved to YAML files using .to_yaml methods. Saved configurations can be used to instantiate models using .from_yaml methods. Matching methods for the other model classes will come soon (where applicable).

Another change here is some flexibility in how model expressions can be specified for regressions and location choice models. Previously these had to be strings compatible with patsy, and that's still fine, but now lists and dictionaries can be used.
Return indexes of added rows from TransitionModel.transition.
Merge pull request #21 from synthicity/lcm-added-rows

Return indexes of added rows from TransitionModel.transition.
Speed up transition models with linked tables

Biggest speed improvement was specifying explicit copying of
new linked table rows so that pandas didn't do any
"are you assigning to a copy?" checks. More speedups were achieved
by using a groupby on the linked table rows that needed copying to
cut down on filtering done. Overall speedup is more than 10x.
Change return values of mnl_estimate

Now returns a dictionary of log likelihood values
(keys: 'null', 'convergence', 'ratio') and a DataFrame with
columns 'Coefficient', 'Std. Error', and 'T-Score'. The
DataFrame is not given any special index in mnl_estimate,
but when it is used with MNLLocationChoiceModel it gets an
index from the design matrix column names return by patsy,
which are derived from the model patsy expression.
Add function for converting Series to yaml-able

Converts index and values separately to native types and
zips them together into a dict.
Function to converting DataFrames to YAML-safe dicts.
Removing some unused fields from YAML ordering list.
Function for converting YAML from different types of sources.
Update YAML IO for MNLLocationChoiceModel

Use new YAML loading utility function and save model fit scores
and parameters.
Update RegressionModel to use new YAML IO utilities.
Have ordered_yaml put an extra newline between top level keys.
Merge pull request #22 from synthicity/mnl-estimate

Improved mnl_estimate return values and YAML utilities
Remove option to mark relocating rows with np.nan.
Remove check for NaN flags in MNLLocationChoiceModel

When doing LCM prediction, it will be up to the
user to pass in only the choosers who are picking new
locations. Both RelcationModel and TransitionModel return
indexes of choosers, those can be concatenated to to make
an indexer of choosers.
Merge pull request #23 from synthicity/no-mark

Don't use NaN flags for marking movers
Convert log likelihood values from mnl_estimate to Python floats.
Merge branch 'master' into developer