Merge from PHP integration branch
Add validation to the builder. This complets #4.
Fixed the generator to remove the method templates after they are replaced
Added todo for the canFinish method