Implemented os_yield and os_sh_malloc

+ Changed os_yield in a way which might work: Timer changed to compare
value so interrupt should trigger
+ Replaced waiting loop by os_yield in os_kill (killed process will now
give its remaining processing time to the next waiting process over
scheduler)
+ Added to defines.h 3 states for the map state nibbles which describe
all modes for shared memory (memory free to access, one or more
processes reading, one process writing)
+ Implemented os_sh_malloc. Since it works in the same way as os_malloc,
both functions now call a private function which does all the work and
additionally receives a map state nibble