Change SeekableStreamFactory to a singleton

Allow an application to set the implementation of SeekableStreamFactory. Default implementation is the same.

git-svn-id: http://svn.code.sf.net/p/picard/code/trunk@1584 8bce386e-0d6e-43e0-b1ca-608082c0432d
Moved `VariantContextUtil`'s `calcVCFGenotypeKeys` and a field member into `VariantContext` to avoid referencing `VariantContextUtils` in some command-line programs.  Referencing `VariantContextUtils` can cause `ClassInitializationException`s because it references jexl packages which do dynamic class-loading.  This is more of a band-aid than a fix.

git-svn-id: http://svn.code.sf.net/p/picard/code/trunk@1585 8bce386e-0d6e-43e0-b1ca-608082c0432d
Merge remote-tracking branch 'upstream'