Merge remote-tracking branch 'origin/pr/25' into develop

Forward port #25
Merge branch 'hotfix/composer-branch-alias' into develop
Merge branch 'feature/26' into develop

Forward port #26
Merge branch 'feature/upload-files' into develop

Forward port #29
Merge branch 'hotfix/upload-use-mime-type' into develop

Describe multipart media types and usage for file uploads.
Merge branch 'hotfix/65' into develop

Forward port zfcampus/zf-apigility-skeleton#65
Merge branch 'hotfix/31' into develop

Forward port #31
Merge branch 'hotfix/28' into develop

Forward port #28
Merge remote-tracking branch 'origin/pr/30' into develop

Forward port #30
Merge branch 'hotfix/import-module-docs-for-1.0.2' into develop
Merge branch 'hotfix/34' into develop

Forward port #34
Merge remote-tracking branch 'origin/pr/27' into develop

Forward port #27
Merge remote-tracking branch 'origin/pr/35' into develop

Forward port #35
Merge remote-tracking branch 'origin/pr/36' into develop

Forward port #36
Merge branch 'hotfix/37' into develop

Forward port #37
collection_query_whitelist for filters

My argument is that at the collection level, a developer may want to allow filters on a field.  Linking the documentation of filters to zf-rest's documentation on `collection_query_whitelist` could keep someone from going down the wrong path (as I did).
Add an example for collection in RPC

I couldn't simply return a `new Collection($users)` object within `payload`, I kept getting an error:

```javascript
{
  status: 500
  title: "Unexpected error"
  describedBy: "http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec10.html"
  detail: "Link from resource provided to ZF\\Hal\\Plugin\\Hal::fromLink was incomplete; must contain a URL or a route"
}
```

I was able to get it to work by having the `hal` plugin create the `Hal\Collection` object.
Merge branch 'master' into patch-1
Merge branch 'patch-1' of github.com:egyptianbman/apigility-documentation into patch-1
Add an example for collection in RPC

I couldn't simply return a `new Collection($users)` object within `payload`, I kept getting an error:

```javascript
{
  status: 500
  title: "Unexpected error"
  describedBy: "http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec10.html"
  detail: "Link from resource provided to ZF\\Hal\\Plugin\\Hal::fromLink was incomplete; must contain a URL or a route"
}
```

I was able to get it to work by having the `hal` plugin create the `Hal\Collection` object.