Make swagger display nullable enum types correctly.

Currently if you have an nullable enum in your DTO it won't correctly
show the documentation like it would for a non-nullable enum.

This fixes that by coalescing from the Nullable<> underlying type to the
actual type. The underlying type will be null if it isn't a Nullable<>.


-- Fix incorrect return instead of continue inside foreach --

The 'return' here causes swagger to miss valid routes after hitting an
invalid route. The following contrived example demonstrates this:

[Route("//test")]
[Route("/test")]
public class Test {}