I199

Added a new arg that checks that the given model is an attributed feature model see http://gsd.uwaterloo.ca:8888/question/867/add-attributed-feature-models-check

Added a fold and map functions that traverse the Ir used to do the above, but can also be used for much more.