Cleanup build to localize flags for external packages.

Cleaning up configure so that compile/link flags for external packages are only used by the minimal set of modules that need them.  Ideally, this will minimize build and namespace conflicts, reduce executable sizes, and make command lines easier to read.

Don't merge yet, still tweaking.

Certainly the dependency order matters, but I am fairly sure that the order is independent of the static/dynamic distinction.  For example, libglobus* depends on libssl depends on libcrypto.  They need to come in that order in the link line, regardless of whether each one is static or dynamic.  I believe that the previous code happened to work b/c our external libraries are usually static, and our system libraries are usually dynamic.  But, this is not guaranteed.

But, I may have missed something.  If this doesn't work for a particular case, please speak up.