Implemented multi-pass training
Implemented multi-pass training

The training now runs through multiple passes to really help
participants learn. Map generation and parsing have been moved to a
functions to make the code more readable. Some GET and POST have been
changed to REQUEST.

jwcarr/flatlanders,jwcarr/flatlanders,jwcarr/flatlanders,jwcarr/flatlanders