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. 
When I tried to build this code with tally triggers, compilation broke on this line when using the ``h5pfc`` compiler wrapper for GNU:

```
[ 97%] Building Fortran object CMakeFiles/openmc.dir/eigenvalue.F90.o
[ 97%] Building Fortran object CMakeFiles/openmc.dir/fixed_source.F90.o
/home/wboyd/openmc-triggers/src/eigenvalue.F90:105.28:

        if(satisfy_triggers)
                            1
Error: Cannot assign to a named constant at (1)
/home/wboyd/openmc-triggers/src/eigenvalue.F90:108.11:

        end if             
           1
Error: Expecting END DO statement at (1)
```

Likewise, when using ``h5pfc`` built using the Intel Fortran compiler, I get the following compile time error:
```
[ 97%] Building Fortran object CMakeFiles/openmc.dir/particle_restart.F90.o
Building Fortran object CMakeFiles/openmc.dir/eigenvalue.F90.o
/home/wboyd/openmc-triggers/src/eigenvalue.F90(105): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: BLOCK BLOCKDATA PROGRAM MODULE TYPE INTEGER REAL COMPLEX BYTE CHARACTER CLASS ...
        if(satisfy_triggers)
----------------------------^
/home/wboyd/openmc-triggers/src/eigenvalue.F90(105): error #6343: The statement following the Logical IF statement is invalid.
        if(satisfy_triggers)
--------^
[ 97%] Building Fortran object CMakeFiles/openmc.dir/fixed_source.F90.o
/home/wboyd/openmc-triggers/src/eigenvalue.F90(108): error #6317: An ENDIF occurred without a corresponding IF THEN or ELSE statement.
        end if             
--------^
```
I simply commented out the ``if`` block with the second ``MPI_BCAST(satisfy_triggers, ...`` and compilation worked just fine. I'm not a FORTRAN guy and I don't know if there is a reason to broadcast ``satisfy_triggers`` twice in this way, so wanted to bring this issue to alert @shenqicang about it.