Multicore redefined

The queue implemented in the multicore implementation has been
redefined with using None as a stop signal. Now allowing process to be
properly exited without being terminated.

Additional logging has been implemented, output write methods has been
implemented in global function.
Added documentation

Implemented documentation and Pydoc for all functions
Multicore multifile handling added

It is now possible for the multicore system to handle multiple input
files.