Refactor JSON parser, and more

Refactor JSON parser to allow it to read from streams in addition to
strings; move shift accumulators to separate files; make some methods
static; fix some bugs in CompareTo; optimize DecimalFraction.ToString;
document FastInteger; and more