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. 
I would like to suggest flattening this logic a bit.  Since all the meat of the subroutine is inside these two "if" blocks you can replace the "if" statements with
```fortran
    if (current_batch < n_basic_batches .or. (.not. trigger_on)) return
    if (mod((current_batch - n_basic_batches), n_batch_interval) /= 0 .and. &
        current_batch /= n_batches) return
```
This is part of the "flat is better than nested" school of thought.  It generally makes the logic easier to read.