BUMP: update rusm to the upstream compiler

* The ABI seems to have changed. The arguments are passed using registers
  starting from r0 instead of r1.
Emit code directly into a function.

The previous implementation would go about this way:

* encode a stream of instruction into a vector (~[u8]).
* Patch the vector with the proper addresses.
* Copy everything in a memory map before executing.

This patch basically adds a write function to Function and replaces the
Encodable trait by the Emit trait.

Emitting will write directly to the memory map as we're encoding instructions,
so we don't need to copy the whole code at the end.
Add __clear_cache binding from GCC

This patch adds support for clearing the instruction cache. This is needed when
we're about to execute some code that we've just written to memory.