moving global filters to options

The rabbit hole went pretty deep on this one, I found a small bug and some untested code that needed some love.

The bug is that when the controller is a filter, it's treated as having the default order of `0` instead of `int32.MaxInt` which it's supposed to have. Added some tests for `DefaultFilterProvider`.

I also added a minimal functional test for showing the order in which filters appear in on the descriptor. This area needs more tests for filters actually executing, but this PR is big enough.
Just want to point out `ICollection` instead of `IList`. In contrast with other options-things, filters already have a concept of ordering, and a concept for factories. 

So the collection itself is unordered, and there's no 'Insert` method because it's not meaningful.