Code formatting and modularity updates

Also, I moved a lot of the rainbow table generation code from "main.py" into its
own file called "rainbow.py". Makes the code more modular and stuff.