Extensive refactoring of AgnGeneValidator class
UTR inference and AgnGeneValidator refactoring

This revision improves the way that UTRs and CDSs are inferred, which necessitated further refactoring of the AgnGeneValidator class.
None of the automated tests include a case for introns in UTRs, so I need to check that.
But otherwise, things should be working correctly now and the code is much better organized and more maintainable.