Add particles tally

Updated and refactored the Tally class to address some shortcomings, and added more tests.
By my count I think this should be 579.