Undefine _FORTIFY_SOURCE for release builds

LTO and _FORTIFY_SOURCE interact very, very badly on ubuntu. Ubuntu
implicitly defines it in the compiler (by way of a compiler patch) or
we wouldn't notice since we don't pay attention to CXXFLAGS.
Standardize link flags
Remove install.md

Issue #101
This is being handled in build.md.
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
MOAR DOC CHANGES

Issues #87, #101

* Include make test(_lang) in both quick start sections, marked
optional but recommended
* Clarifications in make test, make test_lang sections
* Add make test_build section
* Add starsha infinite loop bug to troubleshooting
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