Made the Boost Build c++-template-depth feature be optional, thus avoiding a need to have each toolset module define its default value for this feature.
This corrects a 'bug' with each such toolset module redefining the default value for all other toolsets as well, thus potentially breaking builds triggered with multiple initialized toolsets.
This also avoids passing a redundant compiler command-line option when this property is not specified.
Specialized support has been added for gcc & qcc toolsets that want to change their compiler's default template-depth parameter value used when the c++-template-depth property is not explicitly specified. Although it might be better to find out why these defaults 'need to be changed' in the first place (most likely due to some Boost library build issue) we are currently too close to the Boost library 1.36.0 release to risk causing breakage by changes in the build system so this will need to wait for some later time.