Refactored code. Refs #8685.
Implemented matrix workspace output. Refs #8685.

Also added several unit tests for the new feature.
Enabled to split events by vector splitter. Refs #8685.
Enabled to split events using splitter matrix workspace. Refs #8685.
Added method to split events. Refs #8685.

Added and tested a method to filter/split events with spliters instored
in vectors.
Enabled to generate filters in matrix workspace. Refs #8685.

1. Enabled to generate filters and output them in MatrixWorkspace;
2. Enabled to generate filters in parallel (not finished yet).
Enabled to return with debug message. Refs #8685.
Added new unit test for returning matrix workspace. Refs #8685.
Add debug output. Refs #8685.

1. Enabled to output more detailed debug information;
2. Code refactored for parallelization by OpenMP.
Resolved conflict. Refs #8685.