Squashed 'third_party/linenoise/' content from commit e0f15a6

git-subtree-dir: third_party/linenoise
git-subtree-split: e0f15a65d6531a93942e413f3110f52ad851806e
Merge commit '0285095b486e185fa8c8918ba53391d46e9c14f1' as 'third_party/linenoise'
Replace readline with the BSD licensed linenoise library
Test seq in addr reads and optional reads.
Merge pull request #237 from mpark/more-lang-tests

Test seq in addr reads and optional reads.
Fix quotes inside strings.
Merge pull request #238 from mpark/quotes-in-string

Fix quotes inside strings.
Stream the double with std::fixed so that we don't end up with scientific notation.
Merge pull request #239 from mpark/fix-json

Stream the double in TJson with std::fixed so that we don't end up with scientific notation.
compiler: Memoize GetType() on TExpr

This massively reduces the time to generate intermediate code on large Orly source files.

Thanks Joris (@jmlvanre) for finding / coming up with this (And initial patch). This changes the implementation pattern of that patch, but does the same thing.
Merge pull request #242 from cmaloney/intern-get-type

compiler: Memoize GetType() on TExpr
Due to the use of atomics, certain race conditions occur when a lower priority thread acquires A, then de-schedules, and a real-time priority thread tries to acquire A. Since the real-time thread won't stop trying to acquire A until it is de-scheduled (which it will not be) we end up in a cpu-stuck state. This patch helps avoid a common occurence of this on low-core count machines. It does not resolve the underlying issue.
Merge pull request #223 from cmaloney/no-readline

No readline
Merge pull request #244 from jmlvanre/low-core-issue

Low-core count race condition
JHM: use clang
Use clang to compile stig packages

It's more particular about unused variables. So silence it there.

Conflicts:
	orly/compiler.cc
Ignore unused private field warning for sabot tests

The test intentionally uses it to test packing/unpacking of private fields.
Ignore tautological compare warning
TMP: Add missing include?
clang: Print color diagnostics