Added orientation awareness to KCKarel

New test example KCColorByNumbers
Added 'Counter' to Karel

The counter bahaves like a stack.
The counter can be used to introduce the idea of the memory stack or a
stack in general. It can also help students understand what returning a
value from a method means. Also variables can be implemented this way.
It is still open wether the stack should implement convenience
arithmetic operations (incrementValueAtLastSlot, addToValueAtLastSlot:,
...?)

A simple test example (KCCountingKarel) was created.

A new basic structure class (KCFlexibleArray) was added to support the
lazy instanciation of the views representing the individual slots of
the stack. KCFlexibleArray is atm implemented with the usage of a
KCMatrix. (abstracting away that there are no 0 indeces in the matrix)
Added increment / decrement to counter

Also fixed a bug in KCViewController where the last world loaded would
also be loaded if there was already a world in place. this maded the
editor not work because it inherited from it. In the future, the
autoloading should be removed from the common superclass to a subclass
Added Color Pallette

Karel can now use a color pallette for painting. The color pallette is
meant to represent the memory heap. Objects, in Karels case colors, are
placed at certain adresses. They can then be accessed and modified
using these adresses.

Karel can use the values on the counter to manipulate the color palette.
Added View for pallette; Generalized slotContainerView
New Example of machinecode Karel
don't reload list of worlds all the time

names of worlds are only reloaded on viewWillAppear before reloadData
call to tableView
pushRedColor added as method to clean up run method
Factored out memory allocation simulation karel into own subclass.
Added KCMemoryKarel: (Karel can access a virtual memory stack using a machine-like syntax)

Also, fixed constant declaration