Fix null pointer processing for string/struct/object

We should not try to build a struct or object for the null pointer,
return nil seems a reasonable choice.  When we need to pass
CFFI:NULL-POINTER to function with string/struct/object parameter, use
NIL looks reasonable.
Add test case for null interface return value
Move argv functions into a new file: utilities.lisp

These functions may be useful before we have automatic array
translation support.
Merge pull request #14 from hying-caritas/null-pointer

Null pointer in CFFI means NIL for struct/object/etc