Enable new parser by default (!). Fixes #557.

This entirely replaces fish's execution model. Bugs are likely. See commit 290aae80 for what this is about.
Begin removing remnants of old parser
Merge branch 'master' into parser_cleanup
Remove obviated builtins and additional cleanup of old parser
Clean up various block types and state as part of new parser
Allow the caller to specify the goal node when parsing a string via the
new parser. This enables parsing either a job list or an argument list.
Merge branch 'master' into parser_cleanup
Removing some variables from parser_t that are no longer used in the new
execution model
Fix line number reporting in new parser
Fix for issue where pager contents may stay around if you executed a
command with pager contents visible
Rewrite parser_t::current_line() to respect new parser
Rewrite parser_t::eval_args to use new AST parser
Correct the last keyword enum to reflect the actual last keyword
Add some tests for parse_util_detect_errors_in_argument
Rewrite parser_t::test_args and parser_t::eval_args to use new parser
Remove additional dead code from old parser
Remove current_tokenizer and current_tokenizer_pos from old parser
Excise use of parser_t's error() functionality. Thread a
parse_error_list_t through all of the expand functions, enabling them to
report errors more directly. Improve aspects of error reporting for
expansion failures.
Remove unused err_buff variable from parser_t
Changes full_escape to not generate \x escapes for non-ASCII characters.
Partially reverts 51de269 . Fixes #1225