Merge from PHP integration branch
Add UML class diagram for input file parsing
Add validation to the builder. This complets #4.