misc updating of listing9.hs
add LispVal constructors for functions
update showVal for new constructors
add eval for functions
update apply for user defined functions
add makeFunc/primitiveBindings helper functions
update REPL, supports user defined functions