Updating cmake shared_linker_flags as suggested by Nico Schlomer: https://github.com/Unidata/netcdf-c/issues/46

Fixed indentation.

Updated .gitignore.

Added a macro to make it easy to check to see if the linker supports a particular flag.  Debug builds now pass the -w1,--no-undefined if it is detected the linker supports it.