Add VCFEncoder, for writing out variants

We re-organized one plugin interface, which is why so many files are altered.
Have command line tokens before executable path (e.g. java -jar) be stored in list of elements

This way we don't have to split by a string token and worry about splitting wrong (e.g. paths with spaces in them)
Write snpEff plugin

Added machinery to export variants, and load response from plugin as a VariantTrack. This also meant adding header-reading ability to our decoding codecs
Display message to user when error found in error stream started by RuntimeUtils.exec