Resolve conflict with kernel __SYSCALL macro

Kernel has a macro __SYSCALL too. We need to rename our macro to avoid
redefinition warnings. So now it looks like:

    __SYSCALL   -> __REAL_SYSCALL
    __SYSCALL32 -> __REAL_SYSCALL32
Fix unistd_32.h generation method

Don't use hardcoded path to unistd_32.h. Use compiler to get all the
constants on-the-fly instead and produce the header.