test NA/BAD values
fix test: make sure to return the data marked with NA/BAD!
add support for empty things

Empty lists, empty PDLs (integers, floats)
handle R's NULL/ Perl's undef at the typemap level
add access to R's `identical()` function and skip testing equality for lists

List equality is not implemented in R for the == operator. It throws an
error.

I thought that I could use R's `identical(x, y)` function to fix that,
but while it worked in R like:
    > x <- list(1, 2, 3)
    > y <- list(1, 2, 3)
    > identical(x, y)
    [1] TRUE
calling `identical` on the lists via the C API did not work. It also did
not work for other data built on `VECSXP`s such as `data.frame`s.
Propagate the `dimnames` attribute to and from R for matrices

This fixes the issue with matrix string representation comparison.
handle single values coming from R and make sure that they are single values in PDL

We want single values to be PDLs with ndims == 0.
test the identical function
test of using identical and string representation to compare various lists