preserve non-enumerable error properties if possible

this ensures that if the js host supports non enumerable properties, they're copied over to the error clone. Without this patch, LevelUp error objects will be missing their `type` property after going over the wire.