improve diagnostics for socket connections to fishd
configure/Makefile: respect $LIBS, remove some egregarious lies

 - expunge LIBS_COMMON, it doesn't get used anywhere
 - don't reset LIBS to empty
 - move the gettext test as every binary depends on it
 - only include one set of libraries
Prefer standard library lzma module if available

Prefer the standard library lzma module if available.  This change prevents
using the backports-lzma when it is installed for a version of Python that
already has the lzma module in its standard library.
Allow reading manpages by using F1.
Use basename for man argument

This protects from providing paths to man, like `./a.out`.
document new F1 binding
Autogenerate manpage completions in background if they do not exist
Don't show warning while generating man page completions on startup
add bindings for PuTTY's I-can't-believe-it's-xterm keyboard

(see #170)
Fixes misleading "connect: Connection failed" message on start up

When launching the first instance of fish and fishd is not launched already, this should not be considered an error as long as it can be launched. So ignore the first failure of connect(), as the calling function get_socket() will try again. May need a bit of cleanup.
Fix modprobe completion for newer modprobe versions
Do not show files in modprobe completions
Use fish from $__fish_bin_dir while calling fish_update_completions at startup
Cast timestamp before using it for formatted string.

time_t doesn't necessarily have to be a long number. In fact, manpage
for types.h mentions it can be a double value.
Large cleanup and refactoring of unescape() function.
Merge branch 'master' into ast

Conflicts:
	complete.cpp
	fish_tests.cpp
Remove old unescape() function
Merge branch 'master' into ast