Optionally disable default CommWorld args

The library doesn't yet compile with all new default Communicator
arguments disabled, because some of those arguments follow other
arguments with defaults.  We'll need to add some overload shims to fix
that.
Add LIBMESH_CAN_DEFAULT_TO_COMMWORLD macro

And reorder new method args as necessary to support it.

Because I just redid our examples to use the new methods on Mesh
classes and because that was one of the necessary reorderings, this
won't pass "make check" yet; a subsequent commit should fix that.
The new Mesh constuctors take communicator& first
Missed a couple Mesh creations in previous commit
Reorder one more communicator argument

Not sure how I missed this before, but we need another reordering to
make things workable with disabled default comm arguments.
Fix bugs caught by disable-default-comm-world

This new feature is already paying for itself!
Make apps disable-default-comm-world compatible
miscellaneous_ex8 constructor API compatibility
Merge pull request #85 from roystgnr/disable_default_args

Optionally disable default CommWorld args