Greatly simplify InputGraph.

InputGraph has too many knobs and controls that are not being used. This
patch is to remove dead code, unused features and a class. There are two
things that worth noting, besides simple dead code removal:

1. ControlNode class is removed. We had it as the base class of Group
class, but it provides no functionality particularly meaningful. We now
have shallower class hierarchy that is easier to understand.

2. InputGraph provides a feature to replace a node with its internal data.
It is being used to "expand" some type of node, such as a Linker Script
node, with its actual files. We used to have two options when replacing
it -- ExpandOnly or ExpandAndReplace. ExpandOnly was to expand it but not
remove the node from the tree. There is no use of that option in the code,
so it was a dead feature.

Differential Revision: http://llvm-reviews.chandlerc.com/D3252

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@205363 91177308-0d34-0410-b5e6-96231b3b80d8
Inline empty constructor.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@205366 91177308-0d34-0410-b5e6-96231b3b80d8
Simplify InputGraphTest.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@205369 91177308-0d34-0410-b5e6-96231b3b80d8