Added LocusCollection (using Moose) based on DoubleHashArray

Summary:
1) Added LocusCollection based on DoubleHashArray
2) Enhanced class encapsulation for DoubleHashArray
MyBio::NGS::Track is now a Moose role similar to MyBio::LocusCollection

Summary:
1) MyBio::NGS::Track was converted to a Moose role
2) A new class named MyBio::NGS::Track::Type::DoubleHashArray has
   been created to implement previous functionality of Track class
3) Track factories have been modified to use the new class
4) Unit tests for track factories have been modified
5) Unused classes have been deleted
Test classes should provide a method to create sample objects for the class they test for.

Summary:
1) Modified several test classes to add a class method that creates sample objects for
   the class they test for. This method can be called by other test classes in case of
   dependencies (eg. LocusCollection objects require Locus objects).
2) The methods defined above could not be called by other classes due to a runtests command
   in the BEGIN section of Test::MyBio. This command has been removed. The sideffect of this
   is that test classes can not run on their own and need to be called through a *.t script
Test class for NGS::Tag now uses test objects from Locus test class
Removed MyBio::JobGraph and all of its tests (independent JobGraph module created)
Created a database connector (MYBio::Data::DB::Connector)
Corrected bug in MyBio::LocusCollection::Type::DoubleHashArray

Summary:
1) A potential uninitialized value was not caught. It did not affect
   the results but raised a warning. The warning was silenced in the
   pre-moose version due to the absense of the 'use warnings'
   directive
SAM parser can now give the mismatch positions

Summary:
1) Added methods in SAM records that give the positions of mismatches
   both relative to the query and the reference sequence
2) The tests for the SAM record were updated and improved. The test
   class now provides a method to create test objects
Test suite now loads test modules dynamically without Test::Class::Load

Summary:
The script previously used Test::Class::Load which resulted in warnings
at runtime which had to do with the dynamic loading of the test modules.
The use of this module was removed and a new implementation is provided.
It seems that the problem with the warnings has been resolved
Methods that create test objects for a class, now also load the class.
MyBio::Data::File::SAM::Record is now a Moose class

Summary:
1) MyBio::Data::File::SAM::Record was converted into a Moose class.
   The test suite and other calling methods were modified accordingly
SAM::Record is now immutable and Moose features are tested
SAM::Record now returns number of optimal or suboptimal hits
NGS::Track::Factory::LocusArray does not create not required record type
Created role MyBio::Region for a region on a reference sequence
Made length an attribute of MyBio::Region.

Summary:
1) Method length is now an attribute of MyBio::Region
2) Removed prefix "get_" from "get_overlap_length" and restructured
   the code
3) Set call to "to_string" using method 'BED' as deprecated
   In general this kind of call should not be accepted for the role
   and instead each class consuming the role should provide its own
   "to_string" method for advanced printing.
Corrected package name for MyBio::Data::DB::Connector
Created Moose class GenomicRegion for a region on a genome

Summary:
1) The new class should gradually replace the Locus class which from
   now on is marked as deprecated and should not be developed more
Created Data::DB::Alignment::Record for an alignment database entry