Authentication API

- RESTish RPC controller with GET, POST, PATCH, and DELETE
  functionality.
- Entity currently only understands HTTP basic and digest; we can update
  later to support OAuth2.
- Writes to application global/local config files.
Return a ContentNegotiation ViewModel

- Since this is not a RestController, we need to return a
  ContentNegotiation ViewModel for the content-negotiation to occur.
  Additionally, we need to seed it with a HAL resource, and ensure that
  resource has a proper self relational link.
Set proper response code/headers for create

- Set response code to 201 for successful create, with a location header
Create only when it does not exist

- forgot the negation!
Completed testing of AuthenticationEntity

- Found a couple of issues in the process
Completed testing AuthenticationModel

- Discovered an error with how each of fetch and update worked
Added information on authentication resource and service
Created AuthorizationEntity

- Allows composing REST and RPC services along with the various
  authorization privileges based on HTTP methods.
Added serialization capabilities to AuthorizationEntity
Crated AuthorizationModel

- Per module (API) authorization configuration
- Allows fetching by version
- Allows updating
- Ensures services without explicit authorization configuration are
  represented
- Writes only those keys that are passed via the payload
Created authorization service

- Created AuthorizationModelFactory, so that we can dynamically create
  an AuthorizationModel based on the detected module.
- Created an AuthorizationController, which accepts GET and PUT
  requests, passing them to an AuthorizationModel. Accepts an
  AuthorizationModelFactory in the constructor in order to allow
  identifying the module to allow retrieving the model.
- Created all necessary configuration.
Documented authorization resource and service
Wrote test for versioning authorization config
Updated VersioningModel to version zf-mvc-auth config
Inject authorization relational link into module representation
CS fixes

- function declarations (closures in Module class)
- trailing whitespace
Fix for 5.4

- array_diff is broken in 5.4 and up when used with nested arrays
Fixed .gitignore to ignore test config files generated during running of tests