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. 
Line 311 here causes a bug with the zero-padded filename stuff introduced by PR #291.  Statepoints made before `n_batches = current_batch` will be padded to the number of digits required to represent the maximum number of batches.  But after this line, the batches won't necessarily be padded to the same length.