added a failing test-case for 3-variable eval()
extracted some utility functions into seperate files
fixed a bug in eval for 3-variable polynomials