Signal-related function implementations moved to separate file

When stubs are used, message will be printed using console.error()

alarm() and ualarm() throws exception now instead of stub. Using stubs
may significantly break applications.

siginterrupt() calls stub instead of exception. Since syscalls are never
interrupted in emscripten, it is better not to raise exception here.