'echo -' should output a dash instead of treating it as options
Fixes #1459
Merges changes to support running fish without fishd.

In the new mode (not yet enabled), universal variables are set by reading and writing the fishd file directly, with some file locking for synchronization. This enables forwards and backwards compatibility. However there is no compatibility with simultaneous edits. Changes may be lost if fishd and the new mechanisms both attempt writes.

fishd is still enabled by default for now; it will be disabled in a future commit. You can opt into the new mechanism (disabling fishd) by setting the environment variable fish_use_fishd to 0 before starting fish. This cannot itself be a universal variable, because of bootstrapping: the value is needed to determine how we read universal variables in the first place.

Universal variable change notifications (i.e. reacting immediately to live edits) are tricky. Checking for changes is simple and relatively inexpensive (just a stat()), but relying solely on that would require frequent wakeups, and show up in fs_usage. So how do we get change notifications into an fd that we can monitor via select()? We support a few strategies, expressed as universal_notifier_t::notifier_strategy_t. By default we use notifyd on OS X and a named pipe on Linux / everywhere else. This is also configurable at runtime via the fish_universal_notifier variable.
Use current version documentation links in README
Fix some annoying warnings in fish_tests with gcc 4.8
Silence other fallbacks

This removes Clang warnings
input_readch must return R_EOF instead of WEOF. Fixes #1452
Remove inotify-based universal notifier

The inotify notifier is fragile, fails on travis, and fails to compile
on certain Linux kernels. It doesn't appear to work as well as the named
pipe mechanism. Best to just get rid of it.
Enable fishd-less mode by default.

Shell instances now synchronize universal variables using the
filesystem. fishd should no longer be launched by default.
Hopeful fix for hangs in iothread tests in travis-ci
Implement correct error message for failed process expansion.
Fix small misspelling in comment in expand.cpp
Do not continue execution if argument expansion fails. Fixes #1488
Fix some warnings in Linux build
git prompt shouldn't export variables.
Fix Makefile.in for building key_reader