Distinguish between SwaggerMetadataConverter and SwaggerMetadataProvider

This is a follow up after the feedback on PR #52. I have some ideas about how we could deal with attributes of well known packages (fo example: Newtonsoft.Json, System.ComponentModel.DataAnnotations). But first I need the refactorings in this PR, which I think are good on their own. 

Currently <code>SwaggerMetadataConverter</code> fulfills two responsibility:
  - Providing the Swagger meta data
  - Converting the meta data to the Swagger API model

I added <code>ISwaggerMetadataProvider</code> to define the behaviour of providing metadata:
```csharp
public interface ISwaggerMetadataProvider
{
    IList<SwaggerModelData> RetrieveSwaggerModelData();
    IList<SwaggerRouteData> RetrieveSwaggerRouteData();
}
```

This automatically results in refactoring some things:
  - moved the <code>RetrieveSwaggerRouteData</code> and <code>RetrieveSwaggerModelData</code> implementation from <code>SwaggerMetadataConverter</code> to a new class <code>DefaultSwaggerMetadataProvider</code>
  - renamed <code>DefaultSwaggerMetadataConverter</code> to <code>DefaultSwaggerMetadataProvider</code>
  - renamed <code>SwaggerMetadataConverter</code> to <code>DefaultSwaggerMetadataConverter</code>
  - renamed <code>SwaggerAnnotationsConverter</code> to <code>SwaggerAnnotationsProvider</code>
  - renamed some things in the test projects

This way we have a better separation of concerns. If you would like to implement your own strategy of providing metadata, you just need to implement <code>ISwaggerMetadataProvider</code>.

If you would want to add support for, lets say Newtonsoft.Json attributes :wink:, you could easily create a class which encapsulates some <code>ISwaggerMetadataProvider</code> implementation (like <code>DefaultSwaggerMetadataProvider</code> or <code>SwaggerAnnotationsProvider</code>) and manipulates its output:
```csharp
public class JsonNetProvider : SwaggerMetadataProvider
{
    private ISwaggerMetadataProvider _internalProvider;

    public JsonNetProvider(ISwaggerMetadataProvider internalProvider)
    {
        _internalProvider = internalProvider;
    }

    public override IList<SwaggerModelData> RetrieveSwaggerModelData()
    {
        var models = _internalProvider.RetrieveSwaggerModelData();

        // add information to the models and their properties

        return models;
    }

 	public override IList<SwaggerRouteData> RetrieveSwaggerRouteData()
    {
        return _internalProvider.RetrieveSwaggerRouteData();
    }
}
```