Charon: Return dbox instead of data

This should make the code somewhat more exception safe since
we use the destructor of dbox to destroy the allocated data.