Fixing alternatives with higher priority for converters

Closes #876.

At this time this code works fine when the application wants to override a bundled converter:

```java
public MyLongConverter extends LongConverter {}
```

But this not work:

```java
public MyLongConverter implements Converter<Long> {}
```

So this code fixes this behavior, overriding the internal converter list when a new converter was found for the same type.
I'd rename `other` with `current`, or something like it, to make it more clear that we're overriding.

I'd also log info or warn when the converter didn't override the current one, so the user will know that his converter was not registered.