Added abiility to use a function for order_by

Sometimes you need to calculate the ranking field on the fly.

```python
>>> rank = competition_rank(qs, obj, lambda o: o.countable_set.all().count())
```