Make fish_config compatible with Python 2.5

Try to import parse_qs from the cgi module, and simplejson instead of json.
Use old string formatting. str.format() was backported from Python 3
to 2.6 and isn't available in 2.5.
Remove -rdynamic compilation flag for OSX

This flag is used for the backtrace() function. It provides more information
for the backtrace on Linux, but is useless on OSX.
Signed-off-by: lledey <lledey@gmail.com>
Output embedded null characters more often
https://github.com/fish-shell/fish-shell/issues/444
Eliminate usage of __mb_cur_max, try to fix Linux build
Fix man completion: suppress stderr of aprops
Random fixes to comments.
Fix spelling of "available" in complete functions.
Add confdefs.h to .gitignore
A quick fix to issue #456.
Apply the same fix to help completion too.
Attempt to fix process expansion on Linux
Hopefully addresses https://github.com/fish-shell/fish-shell/issues/455
Replace darcs repositories by git repos.
testing for bug #449
Eliminate str2wcs
Simplify exec_subshell_internal
fixed #449, added test
Allow 'emit' to accept event arguments
Make event_t.arguments into a vector instead of an auto_ptr<vector>.

Yay for less indirection and less code! The resulting event_t structure is two pointers larger, but cuts out an indirection and allocation.
reference'ize event.cpp/h
Rewrite str2wcstring to properly handle embedded nulls, and be simpler