Fixed the wrong comments.

The macro name of `NUM2ULONG(x)` implies that it returns an `unsigned long int`, and according to the signature of `rb_num2ulong`, it does return an `unsigned long int` instead of a `long int`. It might be a typo in the comments.

```c
/** Convert a VALUE to an unsigned long int. */
unsigned long rb_num2ulong(VALUE obj);
```