Remove non-existant files warning

If you run 'make clean' in a clean or partially compiled state, warnings
are given when 'rm' tries to remove non-existant files. This silences
those warnings.
Makefile changes

These changes modify the Makefile to both compile every executable into
a 'bin' directory, as well as compile and link everything inside of the
directory 'common' into every executable (Allowing you to share code
across them).
Adding an updated .gitignore file
Add new arg_parser code

This code is a replacement for getopt (Which allows for writing cleaner
code).
ls: Implement new argument parsing system

This change implments the new argument parsing system into ls.
Fix cat buffer issues
Merge pull request #2 from DSMan195276/cat-buffer-fix

Fix cat buffer issues
Merge pull request #3 from DSMan195276/cat-fixes

Project changes and new argument parser
restyle/reindent code from PR