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. 
MPI_BCAST is a collective call, meaning all processors need to initiate the call. If the purpose is for the master process to broadcast the value of satisfy_triggers, there should be no `if (satisfy_triggers)` block around it. Also, it looks like `if (master) call check_triggers()` could be outside the #ifdef block.