userdata: change handling of bad userdata

Don't fail after encountering bad userdata. Continue processing the metadata
and then exit. This will allow people with bad userdata to actually log in and
see the error.
I'm not following. What needs to be cleaned up? In the event that `ud` and `err` are `nil`, both `ccu` and `script` will be assigned `nil`. The merge step can handle `ccu` being `nil`, and the script just wont be run.