Added output filter.

The alignment-based salmon can now "pass-through" unaligned reads from
the input when producing a sampled output BAM file.  The current
strategy allows the user to set a "filter" that's given to the BAMQueue.
The filter recieves a pointer to each read that does not correspond to a
valid alignment, and can decide how to deal with such reads.