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.
Unfortunately it looks like there's a case now where both `err != nil` and `ud != nil` - [here](https://github.com/coreos/coreos-cloudinit/blob/master/initialize/config.go#L138). You'll want to correct that as part of this change..