Moved Operator definitions into their own class.

Operators.java now contains all the Operator definitions which were in a static block at the top of Operator.java.
Operator.java now contains the default implementations for all the Operator methods.
OperatorSpec.java has been removed.
As this commit represents a large migration of code, Git has chosen to interpret it as a renaming of OperatorSpec to Operator and a renaming of Operator to Operators.
Some other files (Expression, MainWindow, OperatorExpression, SubstitutionCellRenderer, SubstitutionSelectionDialog) have been changed to use the new Operators.named(String) method.
Merge branch 'untangled-operators'

Conflicts:
	src/Expression.java
	src/Operator.java
	src/OperatorExpression.java
	src/OperatorSpec.java
	src/SubstitutionCellRenderer.java
	src/SubstitutionSelectionDialog.java
clean up problems introduced by merge
removed unused imports and made other errors go away (shouldn't change any functionality)