update prepare_samples

Addign some comments from @lbeltrame, and handle mix up of fastq/fastq.gz samples. It will `gzip` all FASTQ files first, the cat is quite fast over GZ files.

The next step is to handle paired reads for fastq files.
Nitpick, but if bcbio-nextgen depends on Python 2.7 (I don't remember if it does) you can do a set comprehension:

````python

fn = { f for f in fn }
````

But I'd argue to use slightly more descriptive variable names. Single letters can be misleading (as a guideline: you may need to come back to this code years after you've written it and you'll stll need to understand what it does).