Convert some m4 code to use AS_IF, AS_CASE macros.
Convert some m4 code to use AS_IF, AS_CASE macros.

These macros should be preferred to hard-coded if and case statements
for compatibility with the widest possible range of POSIX shells. The
macros are also a bit more terse (no closing 'fi' or 'esac' needed),
easier to remember how to use than raw shell syntax (no messing with
semi-colons or syntactic whitespace), easier to Google when you can't
remember exactly how to use them, and Emacs is much better at matching
the opening/closing parentheses used by the macros than it is at
matching if/fi in m4 mode.

https://stackoverflow.com/questions/21015573/how-to-put-logical-or-in-autoconf-m4-as-if
http://www.idryman.org/blog/2016/03/14/autoconf-tutorial-2/

This branch squashes down the original history of #1624 into something
a bit more manageable.

giorgiobornia/libmesh,BalticPinguin/libmesh,dschwen/libmesh,giorgiobornia/libmesh,hrittich/libmesh,dschwen/libmesh,jwpeterson/libmesh,90jrong/libmesh,capitalaslash/libmesh,BalticPinguin/libmesh,giorgiobornia/libmesh,hrittich/libmesh,hrittich/libmesh,roystgnr/libmesh,libMesh/libmesh,dschwen/libmesh,BalticPinguin/libmesh,capitalaslash/libmesh,pbauman/libmesh,jwpeterson/libmesh,dschwen/libmesh,roystgnr/libmesh,libMesh/libmesh,90jrong/libmesh,pbauman/libmesh,libMesh/libmesh,giorgiobornia/libmesh,90jrong/libmesh,roystgnr/libmesh,giorgiobornia/libmesh,BalticPinguin/libmesh,90jrong/libmesh,jwpeterson/libmesh,pbauman/libmesh,roystgnr/libmesh,90jrong/libmesh,hrittich/libmesh,BalticPinguin/libmesh,jwpeterson/libmesh,dschwen/libmesh,jwpeterson/libmesh,libMesh/libmesh,pbauman/libmesh,roystgnr/libmesh,pbauman/libmesh,capitalaslash/libmesh,BalticPinguin/libmesh,90jrong/libmesh,roystgnr/libmesh,giorgiobornia/libmesh,90jrong/libmesh,90jrong/libmesh,dschwen/libmesh,libMesh/libmesh,giorgiobornia/libmesh,pbauman/libmesh,roystgnr/libmesh,pbauman/libmesh,90jrong/libmesh,giorgiobornia/libmesh,dschwen/libmesh,capitalaslash/libmesh,capitalaslash/libmesh,libMesh/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,hrittich/libmesh,libMesh/libmesh,capitalaslash/libmesh,capitalaslash/libmesh,hrittich/libmesh,pbauman/libmesh,BalticPinguin/libmesh,hrittich/libmesh,capitalaslash/libmesh,jwpeterson/libmesh,dschwen/libmesh,libMesh/libmesh,giorgiobornia/libmesh,jwpeterson/libmesh,hrittich/libmesh,jwpeterson/libmesh,pbauman/libmesh,hrittich/libmesh