Target interface

This pull request fixes a bunch of things in the CMake files. The fixes center around not needlessly exposing interfaces of the underlying libraries like HDF5. The main commit is commit 80af350. The previous work fixes related bugs where netCDF test code explicitly uses HDF5 and did not explicitly link to it. NetCDF is now better than ever on aligned with the CMake credo "Link against what you use explicitly, and not more than that".
The now fixed export files allow netCDF consumers not to worry about netCDF's dependencies. Just
```
TARGET_LINK_LIBRARIES(mylib netcdf)
```
will pull in exactly what is needed. This includes HDF5 & friends if the build is static, and nothing otherwise (since the dependencies are managed dynamically with shared libs). Fantastic!

NetCDF still does a lot of things manually that CMake is built to do. The entire TLL_LIBS infrastructure can probably be removed. That's for another time though.

Fixes bug #78.