Update swagger mixin to better reflect selected or excluded fields

- fixes a bug in parsing excluded fields for these two cases
    - "-firstName" would also show the field "first" as excluded
    - "first-name" would show the field "name" as excluded

- now also excludes unspecified fields in an inclusive select
refactor fields exclusions for swagger
Merge pull request #73 from feychenie/patch-1

Update swagger mixin to better reflect selected or excluded fields
Wrong Location header if the POST url has no trailing slash

The new documents uri is resolved using ```url.resolve(from, to)```, which replaces what is after the last slash by the to part (like a browser resolves ```href``` urls)
  - POST /api/users  => Location: /api/123456
  - POST /api/users/ => Location: /api/users/123456
v0.6.20 Fix an issue with swagger when using models with hyphenated names.  Special
thanks to feychenie.
Add test for location header with no trailing slash
Merge pull request #74 from feychenie/patch-2

Wrong Location header if the POST url has no trailing slash
v0.6.21 Fix an issue where the `Location` response header would be set incorrectly. Special thanks to feychenie
v0.6.22 Move express to a peer dependency.