Added support for gating:compensation-ref="FCS", non-square spillover matrices and other monstly minor changes related to Gating-ML 2.0 support

#############################################
Adding this to the pull request:
Added the logtGml2 class, which is a log transformation parameterized as defined in Gating-ML 2.0, i.e., 
(1/M) * log10(x/T) + 1

#############################################
Adding this to the pull request:
Support for non-square spectrum (spilover) matrices from Gating-ML 2.0. Using pseudoinverse from corpcor. Btw. Need to keep in mind that the compensatedParameter@parameter is meaningless for non-square matrix based compensation since there is no direct correspondence between compensated and uncompensated parameters. See Gating-ML 2.0 specification for details.

#############################################
Adding this to the pull request:
Added the lintGml2 class, which is a linear transformation parameterized as defined in Gating-ML 2.0, i.e., (x+A)/(T+A).

#############################################
Adding this to the pull request:
Changed parameter-methods.R, method parameters for SingleParameterTransform.
Originally, this used to call
unlist(sapply(object@parameters, as, "character"))
which resulted in
Error in as.vector(x, "list") : cannot coerce type 'closure' to vector of type 'list'
Now, I am simply returning object@transformationId and things seem to work just fine.
(Originally, I tested this with asinhtGml2 transform (see at the bottom), but the issue seemed to exist for
all SingleParameterTransform from the Gating-ML 1.5 implementation.) 
This fix seems to resolve it for all of these.

#############################################
Adding this to the pull request:
I found some minor issues with the filter method on class filter. It was doing a check whether all the parameters exist, which was a problem for union/intersect filters with arguments on transformed parameters. (The transformed parameters get calculated and added as new columns to the flowFrame later on when the "arguments" of the intersect/union filters get evaluated). First, I "fixed" it by just commenting out the check (that seemed to work just fine afterwards), but than I did a cleaner solution with adding a filter method for the setOperationFilter class, which is the same as for the "filter" class except for not checking the existence of the parameters. Seems a nice way of achieving the same while keeping the check for regular filter classes.

Also, this now works with flowUtils 1.23.6. There, I fixed assigning an identifier to Union/Intersect/Complement filters when parsed from Gating-ML 2.0. Otherwise, the summary method does not work properly. Also, I believe the same issue exists with old (Gating-ML 1.5) Union/Intersect/Complement filters. I didn't want to touch these now but possibly fix it later.

#############################################
Adding this to the original pull request that is described below:

Oct 18, 2014:
Added support for gating:compensation-ref="FCS" in Gating-ML 2.0. Specifically, Gating-ML 2.0 may specify to use compensation description as prescribed by the FCS data file. At the time of evaluation, we will look at - description[['SPILL']] - description[['$SPILLOVER']] - description[['SPILLOVER']] - description[['$SPILL']] and try to extract the spillover from there. If there is no spillover in the FCS datafile or if the spillover does not include the required parameter, then the parameter is supposed to be used uncompensated. In flowCore, we keep the parameter as compensated, but we will provide a 1x1 identify matrix as the spillover at the point of evaluation. Therefore, the calculation will essentially use the uncompensated parameter. This also has the advantage that if the same filter is applied to a different flowFrame, which may include a different spillover, then the parameter will be compensated according to that spillover at the time of evaluation.
In order to implement this, I had to make minor changes (mostly additions) to eval-methods.R and resolving transformations in gatingML.R. These changes shouldn't have any effects anywhere else.

#############################################
Original pull request from Oct 16: (parameters-methods.R don't seem to work for transforms)
The unlist(sapply(object@parameters, as, "character"))
that is called from 
setMethod("parameters", signature=signature(object="transform"), ...
gives: Error in as.vector(x, "list") : cannot coerce type 'closure' to vector of type 'list'

For the user, this error shows when you read a Gating-ML 1.5 file (i.e., the old one that has been implemented ages ago) that includes a gate that is drawn on a transformed parameter, and than you do something like flowEnv$myGate. This is because the parameter method is called from the show method. It has no effect on how the transform (or the filter that uses the transform) work in terms of filtering sub-populations.

I just fixed it for asinhtGml2 by displaying object@transformationId instead of calling unlist(sapply(object@parameters, as, "character")). This should be sufficient (there are no recursive transformations in Gating-ML 2.0). However, I am not fixing the original Gating-ML 1.5 transforms since I am not completely certain that this would be the best, and I am worried about potential side-effects elsewhere in the code.