Simplify hash table implementation

Forget about the open-addressing based implementation.
Now we've got a hash table with a fixed number of buckets.

In this implementation we allow duplicates.

We still need to constify some of the parameters.
Fix return values
Use the same calling convetion that Linux kernel use for syscalls.

SWI/SVC handler use Linux ARM EABI calling convention:
r0 - r6 registers are used for the syscall arguments, it can take up to 7 arguments.
r7 register is used for the syscall number.
"swi #0" is used from calling the syscall.
Change comment style in assembly files.