Introduce the non-daemon process pool as an alternative to the original multiprocessing pool. This adds support for hierarchical multiprocessing (child classes can use multiprocessing again).

The code is based on the following StackOverflow answer:
http://stackoverflow.com/a/8963618/1183453
Add the non_daemon option to execute the MultiProcPlugin nodes as non-daemon processes.
Add testing for the 'non_daemon' flag of the MultiProc plugin.

The testing scenario spawns 2 subprocesses which spawn each 2 child subprocesses. By default, this fails in Python since subprocesses are not allowed to spawn its' own subproccesses.

We test first if the execution of the scenario fails when the nondaemon_flag is False. This is expected.
Then, we test if the execution succeeds when the nondaemon_flag is True.
fix: resolved conflicts
fix: clean up tests, remove file, added missing data file
fix: finished cleaning up errors
enh: setting non_daemon to true. allows running workflows with MultiProc inside a nipype node
Merge pull request #550 from satra/fix/danmultiproc

Fix/danmultiproc