Add "records_read_count" attribute to Data::File::FASTQ
Make classes immutable
Add method "to_string" for Data::File::FASTA::Record
Enable to break out of "foreach_record_do" loops when the subroutine applied on each record returns a value
Enable to break out of "foreach_record_do" in DoubleHashArray when the subroutine applied on each record returns a value
Merge branch 'develop' of github.com:mnsmar/GenOO into develop
The 'do' subroutine must specifically return 'break_loop' to break a "foreach_record_do" type of loop

In previous work I enabled the feature to break out of "foreach..." loops (eg. foreach_record_do) if the 'do' subroutine that is applied on each record returned any value. Forgot thought that in Perl a subroutine always have a return value. This could create some really subtle bugs. For this the subroutine must now specifically return 'break_loop' to break the "foreach..." loop.
Enable record filtering for RegionCollection creation from BED factory
Create method to print header for a SAM file
Internal optimizations for the SAM parser.

Summary:
Change the cache for the records from being an array to being scalar.
Check for undefined value for strand to avoid warnings
Change the interface of Data::File::SAM::Record for optimization

Summary
The idea behind this series of optimizations is that in most cases when
a user loops over a SAM file he/she usually requires only a handful of
the exact SAM record fields and therefore the overhead of creating all
fields as attributes and calculating every single value on object instantiation
is to high. For this the SAM::Record accessors have been simplified to just a redirection
to the SAM::Record fields array (very fast) and everything else is calculated
from these fields on first request.
Remove methods from SAM parser that were specific for BWA aligner

Summary
Removed methods: number_of_best_hits, number_of_suboptimal_hits, alternative_mappings
Refactor class "CigarAndMDZ", create new classes "Cigar" and "MDZ"
SAM parser now supports variable record classes (dependency injection)
Make SAM record aware of all CIGAR operators. Bug fixes. Documentation
Merge branch 'refactor_sam' into develop
Make SAM parser able to read from STDIN
Partially refactor RegionCollection DBIC factory. New attributes and remove defaults.
Move Test suite under t/lib/ dir as preparation to use Test::Class::Moose