Warn about unused functions
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
Merge branch 'mathstuf/dev/cleanup' into mathstuf/next

* mathstuf/dev/cleanup:
  Refactor '+' handling in variable expansions
  Use spawn_sync and spawn_sh_sync for expansion
  Always free the result string
  Set maintain_history default in config.h
  Set a default for shell_cmd
  If find_existing_path fails, use the given string
  Check for a result from running a command
  Use output_stdout as a sync flag in spawn commands
  Run chained commands with new results each time
  Always append results
  Warn about unused functions

Conflicts:
	src/commands.c
Allow NULL when free'ing arg arrays
Add support for scheduling commands

Now that we're async, we can schedule commands to happen later by
stuffing requests into the queue.
Always call the callback

They should know what to do with empty strings.
Fix a whitespace nit
Simplicy decision calls
Check for 'frozen' before invoking handlers
Make navigation requests async
Request a download URI async

Also fix some things related to file:/// and absolute path detection.