Added support for class-level validation

This allows class-level constraints to be applied without with being called, e.g. $errorElement->addConstraint(new UniqueEntity(array('fields' => 'email')));