Validate uniqueness of unique_id

Also make the validation message human readable

[#61862446]
Services and plans have human-readable errors

validates_url can now take an optional message, which defaults to :url
like before

[#61862446]