Ported JsonCollator from iOS's CBLCollateJSON

Line-by-line ported from iOS's CBLCollateJSON to .NET version with the use of SortKey comparison to compare Unicode strings. 
Will need to evaluate if using localized SortKey compare is needed. All of the test cases are passed except one case that compares TAB and space in Unicode mode. 
StringUtils.Strtod() method will be reevaluated and possibly eliminated to use a standard C# method to convert from string to double instead.