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.
Make request handlers async

Also make WebKit2 use request_handler rather than the new mime_handler
for request handling.
Always append a destination uri
Make scheme handlers async
Dedent case blocks

It's unnecessary whitespace.
Block other handlers when frozen
The value can't be NULL
Handle new window actions as well
Results don't have newlines in them
Ignore the socket if it isn't writeable
Add the disposition to mime_handler arguments
Move can_show variable into a smaller scope