Fix path to stig compiler in run_tests.py
Change starsha to use '\n' instead of std::endl in most cases

This will speedup output, especially when using --print-cmds. std::endl forces a flush of all output, which inevitably slows things down.

We keep the flush when we're in exceptional states to force the messages out ASAP
Reduce memory usage and complexity of merge_data_file test
Reducing complexity / memory usage of data_file test
Convert usage of <strm/idx_iter.h> to <c14/utility.h>

Fixes #135
Removing unused test
Listen properly on the memcache port. Also accept connections on it...

(Previously there were some errors in copy paste and basic logic)
Use uint8_t as the type for 'byte' rather than 'char' because bytes should be unsigned
<base/pump>, for non-blocking writes for on-box pipes.
<base/subprocess>, for non-blocking writes between parent and child processes.
<base/rigid_subprocess>, for blocking writes between parent and child proceses.

Note that the two subprocess classes don't have unit tests. Still working out
how to do that with our current testing framework.
Started <stig/mynde/binary_protocol.test.cc> but have found that the
server (1) requires an instance name to avoid throwing during start
(don't know why that should be in mem-test mode) and (2) is seg-faulting
during shutdown.  This push is to help Joris diagnose.
Trivial binary protocol test (Send a binary request), currently hanging.
Make writing request and response headers not magically become varint writing which messes up our byte counts
Update starsha flags to always utilize do '-pthreads'

Also unify base options a little between debug and release builds.

Fixes a couple files which weren't getting built with threading enabled.
Indy requires keys to be tuple. So memcache keys are a one-tuple of a string, rather than just a string.
Have to explicitly pass the arena to Indy::TKey's constructor

Otherwise we pass into a constructor where it never gets set

TODO: That shouldn't be possible.
Memcache keys are stored effectively as two-tuples of {flag, value}

We now do this as well. Also fix some protocol correctness errors
 - Set wasn't storing the flags
 - Set wasn't checking expiration
 - Get wasn't reading out the flags
 - Get expected the request to have 4 bytes of extras for flags
Teach Tetris that Mynde is a very special case

It isn't a stig package, so we need to hand-code the bits which it
normally would call into a package for.
Better formatting
Add a little internal logging. Use more clear function calls (Even though it is redundant work)
Add sample of calling Mynde from python