Make 'message' non-global

This PR changes the interface to `fatal_error`, `warning`, and `write_message` so that the message must be passed as an argument rather than through the global variable `message`.  Note that it also removes the `force` argument from `warning` which means that developers will have to handle the `if (master)` business explicitly in the call to `warning`.

The changes in this PR are cherry-picked from @bhermanmit's tally_refactor branch with some minor adjustments.  The primary reason I making this pull request is to reduce the differences between mit-crpg/openmc/develop and bhermanmit/openmc/tally_refactor to allow easier merges.  This PR is working towards the resolution of #214.
You can embed the ampersands within the string so you don't need the // operator, i.e.
```Fortran
call fatal_error('Reached maximum iterations in CMFD power iteration &
     &solver.')
```
Also note that the OpenMC style guide says five spaces for a continuation line.