5/29/14 - Tons of changes!

Lots of additions, organization and additional comments added. Most of
these files contain explanations to the logic behind the code. READ
THEM!