1) add a new function:
hra_core.collections_utils.get_index_of_string(_string, values,
_separator=None)
which searches for a occurrence of parameter _string
in values and returns its index position, parameter values could
a string or a collection of strings or subcollections of strings;
 if a _string value is not found -1 is returned


2) move function
hra_math.model.utils.prepare_data_arrays(_file, _headers_count, _data)
into a new module:
hra_math.model.file_data_source_utils
used to gather specific functionality connected with file data source
models,
make suitable changes in classes:
hra_math.model.numerical_file_data_source.NumericalFileDataSource
hra_math.model.text_file_data_source.TextFileDataSource


3) some refactorings in a module hra_math.model.data_vector_segmenter:
- move method from class __DataVectorSegmenter__
   def __getDataVactor__(self, index_start, index_stop)
    into class __CoreSegmenter__
- manage a situation of absence of signal_plus in method:
   __OneRunSegmenter__.next(self)


4) add new poincare plot parameters named (in module
hra_math.time_domain.poincare_plot.poincare_plot):
-signal_label (--signal_label)
-annotation_label  (--annotation_label)
-time_label  (--time_label)
give ability to pass signal, annotation and time columns by labels
instead of indexes only,
validity of the names is checked in a new method:
hra_math.model.parameters.data_vector_parameters.DataVectorParameters.check_data_indexes(self,
_filename, disp)

which is invoked in method
hra_math.time_domain.poincare_plot.poincare_plot.PoincarePlotManager.__process__(...) 

the reason for this solution is to cope with situation when the same
data for different files are placed in different columns,
that is the position of a specific column (signal, annotation, time) is
calculated per a data source file;
because of the above changes method validateDataVectorParameters in
class DataVectorParameters is empty,
its role is replaced by check_data_indexes(...) method


5) in property method
hra_math.model.parameters.file_data_parameters.FileDataParameters.data_file(self,
_data_file)
if data file is not None then grouping files have to set up to None


6) add some test code to generate asymmetry statistics for some real
data, package: hra_programs.console.tests