Created full argument parser

Added the ability to parse arbitrary command line arguments in an
arbitrary order to the application.

Added --version argument and message.

Added --debug argument and option.

Added log() utility funtion.

* main.cpp - Implemented command line argument parser.
Reorganized project

Moved utility functions to utility.h/utility.cpp and moved global
constants to constants.h. This removes unneccessary bloat from
the main file, and cleans up the project considerably.

* Makefile - Updated build instructions to relfect file refactoring.

* constants.h - Containts all global constants. Right now, these are
  VERSION_MAJOR, VERSION_MINOR, and VERSION_REV.

* deliverables/log.md - Logged all changes.

* main.cpp - Removed unneccesary functions and constants and placed
  them into more appropriate files.

* utility.h - Created a header for the various utility funtions.

* utility.cpp - Moved the implementation of the utility functions,
  specifically log(), error(), usage(), help(), and version() here.
Merge branch 'args' into develop