fix bug, and compile warning

1. khttp_file_size return type is 'size_t' (unsigned int), and it always >= 0, so these condition will always be false
2. when malloc failed, return -KHTTP_ERR_OOM
3. 'char []' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign
4. include openssl/err.h