Refactoring of SBML validators.
Changes:
 - Defined SBMLLooseValidator, NonRecursSBMLValidator, StrictValidator
   jobs and made calls between them
 - made all the visitXXX methods in the validators protected. Only the
   visit(sbmlElement) should be public
 - added a rule to check consistency between size and spatialDimension
   in Compartment
Several Compartment validations implmented.
The included:
 - chekcs to spatialDimensions
 - checks to size
 - checks for the acyclicness of the outside relationship
Implemented validations for sbml compartments and functiondefinitions.
Refactored toXML mathods in SBML Elements to Bean2SBMLConverter.
Other changes:
 - changed access permissions for validators methods to public
Removed redundant validation from Compartment constructor.
This was not the right place to put it anyway.