Export {service,provider}-designator in src/package.lisp

* src/package.lisp (package service-provider): added exported symbols
  service-designator and provider-designator
Allow lists of symbols as provider names in src/*.lisp

* src/types.lisp (provider-designator/symbol): new type; symbol
  designating a provider
  (provider-designator/cons): new type; list of symbols designator a
  provider
  (provider-designator): changed to union of
  `provider-designator/symbol' and `provider-designator/cons'
* src/protocol.lisp (make-provider t t t): changed provider specializer
  symbol -> t
  (make-provider-form t t t t): likewise
* src/mixins.lisp (name-mixin::name): changed type symbol ->
  provider-designator
* src/macros.lisp (define-provider-function): call
  `%provider-name->function-name' to construct function name
  (%provider-name->function-name): new function; construct function name
  by concatenating provider name and service name
* test/protocol.lisp (test protocol.find-provider.smoke.type-error): new
  test; check that `find-provider' calls with something other than
  `provider-designator's signal `type-error's
  (test protocol.find-provider.smoke.symbol-designator): new test; test
  `find-provider' with symbols
  (test protocol.find-provider.smoke.non-symbol-designator): new test;
  test `find-provider' with list designator
* README.org (Java Service Provider Interface): mention that names can
  be lists of symbols