Added new RnD project for the substrings searching problem with naive and hashing prototype implementations.
Split different matches searching algorithms into different modules.
Implemented file processing prototype.
Removed random input file.
Implemented InputGenerator.
Implemented longest prefix index array pre-calculation.
Fixed full-flow testing for each algorithm.
Separated kernel initialization and execution to remove redundant re-initializations with same parameters.
Code cleanup.
Merge https://github.com/jud4s/Brahma.FSharp

Conflicts:
	Source/Brahma.sln
Solution configuration.
Start code review. Unchecked.defaultof<_> instead of (fun _ -> (fun _ -> ....
Fixed "local" extension function type.
Added "barrier" extension function.
Implemented local variables declarations.
Implemented barriers.
Added pragma enabling atomic operations on local variables.
Added node for Array.zeroCreate array initialization.
Added kernel function for new features testing.
Changed zero array printing from {0} to appropriate number of zeros.
Changed the test kernel function.
Added naive search with templates in local memory prototype.
Implemented get_local_id(0) support.
Switched back to single-zero array initialization for code shortening purposes.
Disabled initializers printing for local variables.
Added naive search with local templates to the long test.
Increased work group size to 500 for local memory management purposes.
Moved to reusing one ComputeProvider in different modules due to impossibility of creating more than three different CPs.
Implemented naive hashing search with input substring hashes in private work item memory.
Implemented previous algorithm with copying the hashes and lengths of templates to local work group memory.
Merge https://github.com/jud4s/Brahma.FSharp
Code cleanup.