Added a crude way to eliminate name collisions

Hi,

> It took some time to understand the codebase and the process in still underway. This change is _little_ crude but seems to work for the time being in reference to issue #109. Please suggest any improvements you see.

As proposed, I have moved this method to to_fasta function for being more generic and faster. This works but not the way I wanted it cause the Hash object has effectively no role in here. I don't know what was the problem but when I tried to -
````
     sequence.gsub!(/^>(.+)/) do |s|
       unique_queries.has_key?(s) ? unique_queries[s] += 1 : unique_queries[s] = 1
       s + '_' + unique_queries[s].to_s
     end
````
to grab all the sequence ids, and accordingly update them, the original sequence was getting modified in a weird way.

Input Sequence:
````
    > a
    ATGCTCA
    > b
    GTCGCGA
````
Output Sequence:
````
    _ a
    ATGCTCA
    _ b 
    GTCGCGA
````
Which obviously throws an error. Is this a regex problem or the code written is wrong?

@yannickwurm