Bug833 asdt list

## Modified / Added:

* as.data.table.list
* as.data.table.matrix
* as.data.table.array (added)


details: 
---------
as.data.table.list -- checks if any element has dim, then rest of function splits into two parts (yes/no dim).  If an element has dimension, several other tests are performed and eventually returns `do.call(cbind, lapply(x, as.data.table))`   Additionally, gave user option to use `rbind` instead of `cbind` via the argument `bind.using`.  This is useful for list of matrices. For mixed lists, a warning is thrown to inform user that `rbind` may coerce data types. 


as.data.table.matrix -- fixed issue where if keep.rownames=TRUE but x does not have rownames, an error would result.  Solution implemented is to use rn=NA_character_   Alternative is to override user and set keep.rownames=FALSE


as.data.tabel.array -- added this function.  Goal was to mimic results of as.data.frame.array as closely as possible.  One issue remains. Namely, for single-dimension array, as.data.frame preserves dim info. We cannot do that with as.data.table since a column having a dim attribtue will annoy print(x).