Add multithreaded capability to poracle

### Changes in Poracle.rb
* **Poracle.generate_set**: original implementation return character array, then attempt to do ACII conversion back to bytearray . This will have problems when encrypted value is using different encodings.
* **PPoracle.find_character**: some server validate valid block construction up to the blockprime, so instead of sending:

### Changes in Main program (DemoMultiThreaded.rb)
* Added multithreading capabilities using meh's library: https://github.com/meh/ruby-thread
* Added ability to save temporary results to file
	* Format: *[block index],[decrypted value]*
* Added ability to skip already decrypted blocks

*[Block n][Block n+1]*

Send:

*[Block 0]...[Block n][Block n+1]*

    Usage: DemoMultiThreaded.rb [options]
    
    Specific options:
    -s, --sort   Sort temporary results
    -v, --verboseShow debug messages
    -t, --threads SIZE   Set threadpool size
    -f, --file FILE  Save temporary results to file
    -h, --help   Show this message

	ruby DemoMultiThreaded.rb -f tmp.txt -v -t 10