Overrided 'equals' and 'hashCode' methods in Ident, so it can be used for comparison.
Removed 'jacc' and 'rats' from the project, because I'm never going to use them anyway and only add unnecessary dependencies now.
Added type checking for duplicate declarations.
Added the 'Mockito' mocking framework.
Added a test to check if 'Form' calls visit on all its children.