Distributed compositions, OTF file handling, and another DD parameters

This adds to the api the ability to convert an existing openmc material to the form of distributed materials in @laxderek's distribmats branch, as well as the ability to specify a materials file for on-the-fly materials loading according to my distribmats_dd branch.  Another parameter of my domain decomp settings was also added.

These additions should not affect the api's functionality when creating input files for the current public version of openmc, but since they're for features that might take a while to get merged it might be some time before they can actually be used.  Perhaps we just don't document them for now, so put some warning statements in there if people discover them.