Native implementation of mv & cp commands in repl

Instead of calling an underlying shell, the mv and cp commands now use
jl_fs_rename and jl_fs_sendfile respectively (wrappers for libuv).  In
the event that the rename call fails on error, mv command still uses
native implementation by defaulting to cp (sendfile) and rm (unlink).

This fix also includes a new unit test for the copy function.  It copies
contents of one file to another and checks that both files are
equivalent.

Fixes issue #4157
Unit test to test rename on directories

Added a unit test to ensure mv/rename also works on directories in
addition to files.

Ref #4157
Merge commit 'b90d14224227d388377b708ce715ce41cf2aeed2'
Use `@test should_be_true()` instead of `@test should_be_true() == true`.

Likewise, use

	@test !should_be_false()

instead of

	@test should_be_false() == false
Merge branch 'master' of github.com:JuliaLang/julia