Update swagger mixin to better reflect selected or excluded fields

In the build process of the model's fields description for swagger :

- fixes a bug in parsing excluded fields for these two cases
    - "-firstName" would also exclude a field named "first"
    - "first-name" or "-first-name" would exclude a field named "name"

- now also excludes unspecified fields in case of an inclusive select
     ```select: "a b c d"``` will exclude the fields ```e, f, g``` in the description