API Primer

An API Primer for the Apigility documentation.

- [x] What is an API?
- [x] Types of APIs (which will cover RPC and REST, and discuss the Richardson Maturity Model)
- [x] Representation formats (Overview - XML, JSON, etc.)
- [x] HAL
- [x] Error reporting (and specifically Problem Details for HTTP APIs, or application/problem+json)
- [x] HTTP negotiation (what happens if an HTTP request method is used that you do not support; how to report what HTTP request methods _are_ supported)
- [x] Content Negotiation
- [x] Validation (specifically, reporting validation errors)
- [x] Versioning (how to version an API, and how to request different versions of an API)