Changed defaults for building shared libraries

Some platforms have reasons for preferring shared or static
libraries and we should nudge the user in the right direction
if we can.

Also, the logic for detecting external shared vs static libraries
was conflated with the settings for building shared libraries. This
needed to be separated so there was a place where specific
toolchains could manage options settings correctly for their
contexts.

Change-Id: I76ed873f2ff5d8aba11c454dea497e5f329111af
Re-organize BlueGene toolchain files

Rename /L and /P toolchain files. Add /Q files from
http://www.cmake.org/Bug/view.php?id=13512

Refs #1064

Change-Id: I7492737be936e59dce6217c41986316b88ec1e06
Merge "Changed defaults for building shared libraries" into release-4-6
Merge "Re-organize BlueGene toolchain files" into release-4-6