Improved nospam capabilities with hashcash

Implement a hashcash system that makes it harder for spammers to spam friend requests. Along with the nospam_num implementation, the hashcash proof of work requires the computer of the sender of the friend request to do work. This work is in the form of many sha256 hashes and stops until a valid hash is calculated. For non-spammer users, this work is negligible, < 1 sec, but for spammers, it is a massive setback.
Why are you doing this?

Why not use standard C types like uint32_t or uint8_t?

This is wrong. For example: a char isn't a signed type on ARM and a int could be 16bit, 32bit or even 64bit according to the C standard.