SI-8335  List.++ avoidably burns memory

Changed to check the identity of the CanBuildFrom instead of the identity of the generated builder to shortcut building.  Should reduce memory churn on ++ a little.
Merge pull request #3842 from Ichoran/issue/8335

SI-8335  List.++ avoidably burns memory