orlyc/code_gen: When the dependency set only contains one item, it must be that item's times.

NOTE: This is a workaround for a deeper bug in the topological sort / dependency order finding, but it fixes a non-compiling chunk of code:

get_kgrams = (recur(.texts: split_text)) where {
  text = given::(str);
  k = given::(int);
  split_text = ((text split "[ ,]").0 if not (that is empty)) as [str];
  recur = ((empty [[str]]
            if length_of texts < k
            else [texts[:k]] + recur(.texts: texts[1:]))) where {
    texts = given::([str]);
  };
};
Merge pull request #102 from cmaloney/issue-96

orlyc/code_gen: When the dependency set only contains one item, it's the end of the topological sort
base/uuid: Prevent initialization races

Using statics inside functions C++ guarantees initialization (thread safe even)
orly/core_import: Initializing variables always is a good habit
Use Twister UUID generation rather than Best for Twitter dataset

The global static initialization order bug is gone now for TUuid
base/uuid: Use constexprs for StrSize / MinBufSize

Makes them compile away more, and be thread safe.
Add script for running demo oryli
Merge pull request #104 from cmaloney/misc_import_fixes

Misc import fixes
Merge pull request #106 from cmaloney/demo_script

Add script for running demo oryli
base/json: Add a simple Read() which reads in a whole json file.
base/json: Eliminate some unnecessary copies (Force move of everything instead)
base/json: Include what was found as well as what is expected.
base/json: Match exactly what is asked for

Before we greedily matched anything which was not whitespace. So we'd read in commas after exact matches, for instance "true,".
base/json: Better error message
base/json: Add converting TJson::TKind to logical strings
base/json: Add missing nothrow