add hashCode() and equals() to NamespaceIdentifier
move members to top of class in Variable
add file scope to CompilationUnit
by the way, this entire branch deals with #25
change List to Set in CompilationUnit
change eval() to evaluate()
fix multiple nits on #25