Tally trigger

This is the OpenMC code with tally precision triggers and corresponding documentation. The trigger can be set for combined k_effective and tallies. The types of trigger can be set to relative error, standard deviation and variance. In some situation, it can predict the number of batches to satisfy the trigger. As far as  I know, there's no problem. Hope everyone can give advice and guidance. This Pull request fulfills issue #264. 
The entire block above should really be moved inside finalize_batch. That way, there is no need for write_last_state_point; instead, the current batch could be added to the statepoint_batch list and then the existing code in finalize_batch would handle writing the statepoint.