Always append results
Run chained commands with new results each time

All of the results are concatenated into chain's result, but each
command should work from scratch.
Use output_stdout as a sync flag in spawn commands
Check for a result from running a command
If find_existing_path fails, use the given string

This allows commands leverage $PATH when executing.
Set a default for shell_cmd
Set maintain_history default in config.h
Always free the result string
Use spawn_sync and spawn_sh_sync for expansion

Rather than reimplementing the logic to run a command, make all forking
from uzbl itself happen in one place.
Refactor '+' handling in variable expansions
Minor nit
Move command table below the API functions
Make the command table const
Move variable table below main API functions
Fix the builtin event to be properly formed JSON
Declare info with its assignment
Use the command as the event data
Remove an unused event
Simplify selected_url logic
Fix DOWNLOAD_PROGRESS for WebKit2