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.