Parameterized the input function and various cleanup.
Automated the test by redirecting the input.
Various refactoring to make it look better.
Refactored the parse command to take arguments.
Fixed some comments and some spacing.
Rewrote the execok function as getPath.

Now only takes care of searching the environment variable PATH,
and puts the proper path in the return variable.
Condensed all parsing tests into one.
Got execute working for single commands.
Apparently have a somewhat working pipe system.
Got pipes working correctly in the fork and run test.
Cleaned up the asserts for the fork and run test.
Got the pipes working, even for many programs.

Not sure which pid to wait on though. Need to do more research.
Fixed the execution to wait on all PIDs created.

Stores PIDs in an array and waits on them all.
Made the test data slightly different.

Should work with the normal program.
Fixed it so that it would track changes on shell_main.c
Added in logic to detect 'exit' being typed.
Made the system only wait on the last pid generated.

It will only exit when it's standard input closes, which
will only happen when the command piping into it closes
it's output by exiting.
Changed parent directory name - changed hashes.
Added in checking for EOF, instead of exit.
Got the system looking for all child processes to exit.