Add new PeakInvestigator external library and UTIL program

This pull request is to address the comments from @aiche in PR #1007. Specifically, I have placed the new library external to the core OpenMS library as suggested by him and others. I have also split the many of the non-PeakInvestigator code into separate classes:

1) TarFile, for bundling/extracting scans from a MSExperiment.
2) LibSSH2SecureFileTransfer and PSCPSecureFileTransfer, as well as their abstract base class, to simplify the code, especially by reducing the number of #ifdef statements.

The code complies on Mac and Linux (at least in my Ubuntu VM), and I am currently testing compilation on Windows 7 in a VM right now. I still need to add documentation and potential test methods, which will probably take me a few days. In the meantime, I would appreciate any comments.

Even a small part of the code that is incorrectly licenced can be a problem
from the legal side of things. I think moving it out to its own header is
the cleanest solution and will not raise future questions about it.


On 1 October 2014 00:36, TDI-tenderholt <notifications@github.com> wrote:

> In
> src/peakinvestigator/source/TRANSFORMATIONS/RAW2PEAK/PEAKINVESTIGATOR/FORMAT/TarFile.cpp:
>
> > +    char size[12];
> > +    char mtime[12];
> > +    char checksum[8];
> > +    char typeflag[1];
> > +    char linkname[100];
> > +    char magic[6];
> > +    char version[2];
> > +    char uname[32];
> > +    char gname[32];
> > +    char devmajor[8];
> > +    char devminor[8];
> > +    char prefix[155];
> > +    char pad[12];
> > +};
> > +
> > +// Based on code from https://github.com/lindenb/cclindenb/blob/master/src/core/lindenb/io/tarball.cpp
>
> Since it's a small part of the code, I (perhaps naively) assume that it's
> ok to use the struct and checksum function outside of the Apache License.
> Is that reasonable? If not, I'll move it to another file.
>
> If I move it to another file, do you have suggestions for filename? Should
> I keep it as tarball, or rename it to something more specific (
> PosixTarHeader)?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/OpenMS/OpenMS/pull/1023/files#r18252171>.
>