Add support for documenting the API using swagger

This introduces the SwaggerServiceProvider.  It uses the
zircote/swagger-php package to allow you to add annotations to your
documentation and bulid a swagger api definition file based on those
annotations.  The service creates the routes necessary to be compatible
with swagger-ui.  The swagger definition for the shopping cart service
is not complete, but it is enough to show proof of concept.