Redo of the sampler

The new idea is that instead of recomputing the entire lPosterior we
only update the terms that change. We know what terms change by looking
at the sufficient statistics which we can update using the switch_pol!
and switch_bill! functions.

It looks like the prediction is still working, but I haven't looked at
it to see whether it's actually working.

Performance is as follows:

elapsed time: 1.603774238 seconds (10171816 bytes allocated, 2.20% gc time)
elapsed time: 0.54500065 seconds (281600 bytes allocated)
elapsed time: 0.456361415 seconds (281600 bytes allocated)
elapsed time: 0.421657527 seconds (281600 bytes allocated)
elapsed time: 0.411543647 seconds (281600 bytes allocated)
elapsed time: 0.451156389 seconds (281600 bytes allocated)
elapsed time: 0.416652448 seconds (281600 bytes allocated)
elapsed time: 0.42138762 seconds (281600 bytes allocated)
elapsed time: 0.45817733 seconds (281600 bytes allocated)
elapsed time: 0.464749641 seconds (281600 bytes allocated)

I have some ideas, so expect this to get quicker