speed up config

config arrays are now accessable via index, because index = config enum
type.

So the config is accessible in O(1) instead of O(n).
heapnodes should be sorted now
added massive alloc test
heapnode gets used if something is put into it
fail if heapnode is unused
added node->used_state = HEAPNODE_USED

for running tests. This will be removed later, so the VPU really fails
if something like this is in the binary:

	ALLOCI 0xFF
	FREE 0x02
Revert "heapnodes should be sorted now"

This reverts commit 559461126d8026ebe88aa6f54c6d760b9473b654.
The commit was buggy.
fixed ascii art
flag --notzeroregs added

This flag is a addition to the --regs flag. If set, the VPU does not
print the registers which are zero.
updated statusbits table
removed TODO #5, #5.1 - won't implement

defining opcodes in runtime will not be supported!
protocol marked as stable
some small code improvements

- removed not required if condition in line #96
- added comment for return statement
heapnode-realloc logic applied

- added configuration flag "--fast". If set, the VPU tries to be as fast
  as possible and does not care about how much memory is used
- removed old static function prototype
- added heapnode-ptr allocating algorithm
- shortened code at some random positions

Heapnodes get reallocated as fast as possible, with as less as possible
calls of realloc() until a limit is reached.

This limits are defined via macros, not via configuration. I chose some
simple and low limits for this first implementation, as I can't expect
how much heapnode will be allocated in production:

HEAPNODES_DOUBLE_REALLOC_LIMIT      500

This means, until 500 Heapnodes are allocated, the VPU will allocate the
number of heapnodes * 2

HEAPNODES_FAST_REALLOC_LIMIT        1000
HEAPNODES_REALLOC_FAST_STEP         50

Means, until 1000 heapnodes are allocated, the VPU will allocate 50 heapnodes.

HEAPNODES_REALLOC_STEP              5

Later on, there will be 5 heapnodes allocated if create_new_heapnode()
is called.

The create_new_heapnode() returns a pointer to the first new heapnode,
so the calling function can use it imidiately and does not have to make
a lookup for it!
fixed config-parse bug
merged branch speed_opt into pre-stable
bugfix

heapnodes_ptr_count should start at 1, because there is already one
heapnode-ptr if the heap gets initialized and because 0 * 2 is 0. This
causes the create_new_heapnode() function to fail if it gets called
while heapnodes_ptr_count is zero.
Merge branch 'speed_opt' into pre-stable
test with new --fast flag
some readme notes added