Multiple Assignments MSM Construction

I needed to combine a FAH project with one of Shaw's datasets, so it would have been annoying to work with an assignments file since it would be mostly -1's

So, I added functionality to:

BuildMSM.py
CalculateImpliedTimescales.py

msm_analysis.get_implied_timescales[_helper]

so that they can each handle multiple assignments.

Major changes:
1) The scripts/functions now pass around a list of assignments and calculate counts matrices for each assignments and then add them together.
2) The get_implied_timescales_helper function takes a list of assignments rather than an assignments filename. This means the number of assignments loaded is equal to the number of lag_times of interest as opposed to the number of processors used. I don't think these are too different, so it shouldn't be a big issue on the memory usage.

This was a work-around that I needed, but really I'm not sure it needs to be in msmbuilder. It really just brings up the issue of how we store assignments. I think there is probably a more efficient way, then to pad with -1's.