Reformat for aesthetics
Fill out gitignore more fully
Ignore unused return value from successful builtin execution
Pull out a function for appending to the buffer

Allow the use of a more natural syntax for specifying the substring to
select
Abstract find_quote into find_char

And use the index_from function from Core instead of recursing
Write a generic mechanism for processing expansions
Add a test for environment variable expansion
Explicitly add start to beginning of replacement to buffer

and then continue after end of replacement text.
Add a _tags file setting debug on
Move past the ending character when replacing
Don't drop the last character of the env arg
Improve run_test.sh
Improve the environment tests
Implement envset and envunset builtins
Refactor aecho to get rid of match warnings
Use a String.concat instead of recursing
Implement cd command
Eliminate special handling in aecho of no args
Strip the duplicated program name in minishell.ml

when processing builtins.  Still pass the correct thing to exec
Implement $$ -> pid expansion