Static library 'x' on unix is (usually) called 'libx.a'.
Added methods to ToolChainInternal to construct executable, shared library and static library names. Changed the various binary classes to use this instead of OperatingSystem to determine output names.