Add truncate_module_path as a replacement for the rootmodule kw arg

Also convert full_typename to use IOBuffer, to avoid some allocations
Fix DataFrames test

DataArrays should probably not be trying to perform a conversion if
the type is the same, but we can trivially avoid calling convert in the
first place.