Deref the function object. Also, make sure the arguments are being passed
to vm_run, duh.
Ensure the num_args field is set in the parameter structure.
Let's actually try calling a function now... what can go wrong!
Added RAW_CAR/RAW_CDR for deref()-less CAR operations where you need to
calculate the address of the car/cdr slots but don't want to dereference
them. Using deref() on CAR/CAR l-values could create strange and
interesting situations. Also fixed the allocation of pairs as the header
block was being allocated as sizeof(struct tag_count_t) instead of
offsetof(struct object_t, value). The latter was used for the
VECTOR_BASE() macro which lead to problems on 32-bit architectures with
structure padding and memory stomps. Oh the joy!