adding sim_explorer - still a work in progress
pretty good mvp of the sim explorer

seems to be working as designed for basic indicators

more to come
fix a few bugs
implemented fly to
added vega charts over the simulation in the lower left-hand corner

can also write out a static file instead of serving in the notebook
bug in normalization - off by a factor of 100
This checkin is not final code - parcel level mapping

Also finding some small bugs in the developer model - will give more info when doing pull request
again, just have too much code locally that i'm starting to get nervous

will organize and annote more later

have added yellow markers for different shapes for different residential buildings type ids
lots of css fixes in sim explorer and some small bug fixes

also changing to use .format in simulation.py
moving sim_explorer to its own repo for now
one of my debug statements snuck in there
boundary condition covered (no feasible buildings)
add a few extra fars to test in the pro forma
Merge branch 'master' into sim-results-explorer
Merge pull request #115 from synthicity/sim-results-explorer

Small edits that came out of debugging results in high detail

First, the restriction of max_dua was not being computed correctly, so this is now fixed.

Second, I added a parameter pass_through which is a list of column names which get passed through the pro forma process and into the output so that inputs can be viewed in the output for debugging purposes.
Line length adjustments.
Add .probabilities methods in LCM

On a basic LCM the .probabilities method returns an array of
probabilities and a Series of the alternatives those probabilities
are associated with. Right now those alternatives corresponding
to exactly the alternatives given because we calculate probabilities
for only one chooser, but that could change in the future.

On segmented LCMs and LCM groups there are two new methods.
.probabilities returns a dictionary where the keys are segment
names from the choosers table and the values are arrays of
probabilities for each segment. The .summed_probabilities methods
return one array of probabilities calculated by taking the
individual segment probabilities, normalizing them, and
multiplying by the number of members in the segment.