build: use the proper libintl include variable

What was there worked, but it wasn't meant to be the variable that you
use for inclusion.
build: give priority to /sw and /opt/local on Mac OS X

Unfortunately, we can't force the specific inclusion of a header file.
So if anything add /opt/local/include to the include path--such as
libintl--then other dependencies might be drawn from /opt/local at
compile time, even though we detected them elsewhere at configure time.
This, in turn, causes issues with mixed versions, such as the iconv.h
header being pulled from /opt/local/include, but linked against the
library in /usr/lib--which can be mismatched versions.

So, despite CMake's best effort to treat /sw and /opt/local as just
another system area, we really need to give them preferential treatment.
To do this, we add them to CMAKE_PREFIX_PATH.

This fixes an issue discovered while re-enabling iconv in #1370.
build: pull iconv detection into its own FindIconv.cmake file

This will provide better control for those who may want to alter which
one gets used.
Merge pull request #1437 from jszakmeister/build-search-fixes

A few fixes for some build-related issues.