pass all keys in error objects

try #2, this just allows us to preserve any additional keys on error objects when returning them from a child in a callback.