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
TODO Initial draft for expanding/inlining function stuff

* src/types.lisp (header): updated copyright
  (function-name):
  (lambda-expression):
* src/provider.lisp (function-provider::function-name):
  (function-provider::lambda-expression):
  (function-provider::function):
  (shared-initialize :before function-provider t):
  (shared-initialize :after function-provider t):
  (make-provider-form t function-provider list t):
* src/macros.lisp (header): updated copyright
  (register-provider/function):
  (define-provider-function):
* test/protocol.lisp (test macros.register-provider/function.smoke):
  adapted to changes
  (test macros.register-provider/function.conditions): likewise
* test/macros.lisp (test protocol.find-provider.undefinition): likewise