* validation of client moved into its own method and tested
* public clients have different validation - must have no redirect URIs
and must have a clientName set
Replaced by ClientRepoFromClients, which makes more sense IMO. Also, it
was doing the wrong thing: it was ignoring the client_id and client_secret
passed into it as far as I can tell.