Bug 1109746 - Fix more bad implicit constructors in some random code across the tree

--HG--
extra : amend_source : 48ca151cb1ca2193404c65831556051c02093914
Bug 1009631 - Add a static check to the clang plugin to detect bad implicit conversion constructors; r=jcranmer