Type tests

Remark: 1 test fails at the moment, this is expected. The bug it exposes is fixed by https://github.com/khellang/Nancy.Swagger/pull/39
I will rebase to trigger another build after the bugfix is merged, but I thought it might be valuable to put this PR in place now.

This PR adds unit tests which cover to mapping to <code>Parameter</code>,<code>Operation</code> and <code>ModelProperty</code>, and focuses mostly on the <code>Type</code>, <code>Ref</code> and <code>Items</code> properties, although the other properties are also asserted b66d8d9.

When I ran the tests, I noticed some properties should be <code>null</code> in some cases. I changed this for the following:
  -  <code>Parameter</code>: <code>allowMultiple</code> and <code>required</code> when <code>false</code> e948318
  -  <code>Operation</code>: <code>produces</code> and <code>consumes</code> when empty 350da77
  -  <code>ModelProperty</code>: <code>uniqueItems</code> when false 0b0b8b8

I had to refactor the <code>CreateModel</code> and <code>CreateModelProperty</code> mapping functions. They are moved to <code>SwaggerExtensions</code>. This makes it also more consistent with the other mapping functions. 89b5290


Why does C# type inference have to suck? :stuck_out_tongue_closed_eyes: