adapt to (positively awesome) cloud9 changes
switch to clang for the default build

As soon as we get to release 0.1 we will support different compilers,
but until then I will simply hard-code clang like this.
implement utils/hashmap

I am internally using jansson here, for the time being, but intend to later
 switch to a hashmap that does not expect string keys but integer keys.

We'll have to hash strings ourselves then,
  but we can use it for pointer-maps as well.

For now, we need to convert those to strings, which are then hashed.
refactor tools/interface using RequireJS