Geopts

Hi Phil, there's 2 main things in this PR, first a proper pre-runtime runfile parser for the memory / cores estimation in .cfmods, and a more sensible array of information passed to these from cf so they can make their decision on the memory request. An example of parsing them is in the example cfmod. Second, I added hardcoded genome paths for the STAR aligner and a .cfmod wrapper for that. I gather you're looking to get rid of hardcoded paths soon, but it works as a temporary measure.  I've only tested these on our cluster which can't use the shared memory options that STAR is capable of. Also fixed some bugs and added more control of trim_galore from the pipeline args.  I might add a sambamba wrapper later, but I think that's it from me for the time being, it's got everything I wanted :)
Cheers, Stuart

I'm being a pedant here, but I found this slightly confusing to read. Any reason why it can't be grouped together into a single if statement?

```
my $command = "";
my $sortfile;
my $prefix = $file;
if ($prefix =~ s/\.[bam$//){
    warn "\nGuessing file $file is a BAM file\n";
    $sortfile = $file;
} else {
    warn "\n Assuming file $file is a SAM file\n";
    $command = "samtools view -bS -u $file |";
    $sortfile = "-";
}
```