Almost all tools are scoped to a library. This helps ensure the tools
are scoped to that library's dependencies and it avoids another parallel
directory structure in favor of a simpler one.
Versions before GCC 5.0 have a broken C++ 11 implementation where
std::ifstream and std::ofstream are not movable. This breaks a bunch
of places that assume they can assign it. It's fixed in GCC 5.0.