MultiProc non-daemonic

When using the MultiProc plugin of Nipype to run a bunch of nodes, it is not possible to use multiprocessing again inside a node. It results in the following error:

  AssertionError: daemonic processes are not allowed to have children

I found this

  http://stackoverflow.com/questions/6974695/python-process-pool-non-daemonic

and modified the multiproc.py class to support the boolean option 'non_daemon' to run the nodes non-daemonic and thus support multiprocessing again inside them.

This is the first working version. We should discuss if the flag should be 'non-daemon' or just 'daemon' (and True by default).

Also, we need a test and probably a TestInterface/Node which tries to run multiprocessing again?