Added Post-Order Crawler

Added a post-order crawler
Made construction of crawlers more generic using the interface
Made Crawler interface extend Iterator
Fixed a bug with the pre-crawler not returning in the right order