Simplify ProgramInfo

Remove realBinaryName() and invariantBinaryName() from ProgramInfo, as
they were only necessary for the command line module manager.  Instead,
pass the binary name to CommandLineModuleManager constructor and move
the invariant name logic into the manager.  This removes unnecessary
functionality from ProgramInfo, allowing to simplify it further.

Change-Id: I2f18dffcb5dde8e2101376444435bb13daf8c236