Adds methods for binding graph nodes and llvm values

Each node of the control graph may be associated with
llvm::Value object.

Method compiler iterates through the control graph
and creates values which then bound to graph nodes.

Some graph nodes refer other nodes as their arguments.
This relation is reflected by similar Value relations.
When Value creation require argument which had not
been processed yet, dummy value is inserted. This dummy
value will be replaced later when graph node holding it
will be processed.

Issue: #32
Adds ControlNode::getConsumers()

This function return a list of nodes that refer
current node as one of their arguments.

Such information is requested rarely and almost once per node,
so it's better to calculate the list rather store it in node.

Issue: #32
Fixes graph linker (related to ABAB problem)

Previous implementation incorrectly processed
block chains with non-empty stacks.

Consider the following situation:
	A(-2) <- B(1) <- C(1)

Block A is the value consumer which requests two values
from the refering blocks. Each of blocks B and C provide
a single value on their local stack.

First request with index 0 will be satisfied by block B
because it has 1 value on the local stack.

Request with index 1 is more complex. First, block A looks
into block B because it is the only referer. But block B
have only 1 value on the stack and therefore could not
provide a value with index 1. Hence, block C is queried
recursively.

The problem is that block C also have only 1 value and
could not satisfy request with index 1.

Problem is solved by substracting the size of local stack
from the requested index on each recursion entry.

Finally, second value will be requested from block C
with effective index 1 - 1 = 0.

Issue: #32
Issue: #2
Refactors ControlNode::getConsumers()

Function now returns boolean value which is true when
at least one consumer was found. Consumer list is
returned via out parameter.

Issue: #32
Refactors graph optimizer by using ControlNode::getConsumers()

Issue: #32
Removes value stack methods, replaces popValue() with getArument()

Issue: #32
Reverts push instructions to simple holder style

Issue: #32
Removes TDeferredValue and TSimpleValue

Issue: #32
Removes unused referer and stack values junk

Issue: #32
Adds missing node values

Issue: #32
Adds MethodCompiler::getValueFor() and setValueFor()

These functions help to create llvm::Value* objects
during JIT code generation.

Issue: #32
Builds all graph* and parsed* code into a separate libstapi

Issue: #32
Add stub for tests

Issue: #32
Adds test for TSmalltalkInstruction

Issue: #32
Adds tests for InstructionDecoder

Issue: #32
Adds tests for ControlGraph

Issue: #32
Adds tests for ABAB (#2)

Issue: #32
Adds tests for stack semantics

Issue: #32
Adds test pattern for parsing bytecode

Issue: #32