Add specific error message in marshal error
Support for pointers as option values
Use value instead of pointer for slices to fill
Added tests for pointers, slices and maps