Make streaming map-reduce use atomic move_dir

This is essentially using the code introduced in spotify/luigi#393,
solving the exact same issue described there.

Without this patch, the renaming is of LBYL nature, and you could end up
with moving a directory inside another instead of actually renaming a
directory.

So others don't fall into the same pitfall, I added a comment to the
rename and move function discouraging it to be used for directories.
Fix test and unveil horrible naming convention

This patch fixes test case

    test_run_real (test.hadoop_test.HadoopJobTest)

It's very very saddening to have to commit this. But at the moment I
just want the test case to pass.

Apperently "File" uses "move", "MockFile" uses "rename" and
"HdfsTarget" uses both "move" and "rename". Yuck!
Merge pull request #522 from Tarrasch/mapreduce_atomic_movedir

Make streaming map-reduce use atomic move_dir