added new likelihood, optimizations, bugfixes

likelihood:
- SparseLikelihood
- changed BernoulliLikelihood to have an asymmetric
beta prior.

optimizations:
BlockOrganizer implementation caches n0/n1
numActive no longer calls HashSet's .size()

bugfixes:
- resampleTop was resulting in an empty Atom in
the atoms set, which means the size of that set
was wrong.
- resampleTop was calling atom.size() before
removing the cluster, resulting in the wrong
invariant distribution for resampleTop
- resampleTop also had a bug where the extent of
a cluster rolled over jump events where the jump
landed in the same atom.
- there might have been a problem in the sampling
step of ffbs. (not clear if it was in verification
or not. after a rewrite, it verifies correctly.)