fix(orderBy): changes orderBy to use case sensitive comparison to break ...

...ties on strings

Previously running orderBy on an array of strings such as ['A cow', 'a cow'] would
result in ['A cow', 'a cow'], regardless of the value of reverseOrder.  This is because orderBy cast
all strings to lowercase before comparing them.

This commit changes the behavior to result in ['a cow', 'A cow'] when reverseOrder is true,
and ['A cow', 'a cow'] when reverse order is false.
This is duplicate code... Why not do:
```javascript
var v1Lower = v1.toLowerCase();
var v2Lower = v2.toLowerCase();
if (v1Lower !== v2Lower) {
  v1 = v1Lower;
  v2 = v2Lower;
}
```