Add alias support, plus fix parsing issue

Issue was with parsing strings that start with a newline.
Fix issues with compound-lists

1) We allowed an empty compound-list, this is wrong
2) Fix lisp quoting in subshell commands
Add parse-one-command

Originally parse-posix-stuff did this, but it was changed as that wasn't
the desired behavior anywhere it was called.  For lispy
command-substitution, we need it.
Several utility changes

1) Added "return" utility
2) fixed some utilities that were incorrectly marked as special
utilities
3) Reordered utilities to be in same order as Open Group listing
Initial commit of functions
Initial commit of "jobs" support