Add improved error messages for missing Swagger schemas

Includes a lot of explanatory text.
Adds tests around this to all relevant code.
Some slight refactoring of how schemas are loaded.
Slight refactor of building SwaggerSchemas
Schemas live in swagger_schemas/ by default
Centralize schema knowledge in SwaggerSchema object. DRY up error catching
Default schema directory is api_docs/