Configury nits
Begin putting shared library code in namespace lcdf.
Update README.md

Exclude the script directory from the release. The major reason is that the Flow tests doesn't work because Flow is not released. If anyone is interested, I could send them via email.
Merge pull request #3 from ydmao/patch-1

Update README.md
do_nothing: Add binary version, improve signatures.
README improvements
Internal: Add hooks for "does the parent really exist?".

We are using null pointers for "this node has no parent [within
its layer]". But we might want eventually to store backpointers from
one layer to the next higher layer. (Imagine an iterator.) So add some
hooks to hide the identification of null pointer with no-parent. These
hooks should be completely optimized away.
Add support for the Hoard allocator.

Can't recommend that one use it though. On mat (our newish 24x Xeon
X5690 machine), on rw1, we see:

malloc: ~180K puts/sec
hoard: ~380K puts/sec
jemalloc: ~510K puts/sec
tcmalloc: ~580K puts/sec
flow: ~640K puts/sec
Apparently a new version of TeX Live screws this up

and produces spurious errors.
Json: Correct UTF-16 surrogate calculation.

Plus avoid a warning.
Avoid warnings.
StringAccum::make_transfer(): Inverse of take_string().

Makes a StringAccum from a String, potentially stealing the String's
memory, rather than the reverse.

Also some new substring() variants etc.
Json parsing: Introduce Json::streaming_parser.

Json::streaming_parser builds up a Json from multiple calls to
consume(). This is useful if for example you're reading a Json
over a streaming network connection. It has tests. It is also
about 2x faster than the old Json parser.
Move reqst_machine into mtd.cc, where it belongs.
Perfstat: Remove mark_delta_created/removed.

Use threadcounters instead.
Remove unused code.
Simplify kvthread allocation functions.
Use value_array specific functions to alloc/free columns.
The memtag is a mandatory argument.
Use one memtag for all value data.

Two types of value never coexist anyway.