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
Use readlink to identify the default editor via /etc/alternatives/editor. ref. #4728

Also use "run" for launching nano because it's not a gui editor.
use `basename` and `realpath`
support multi-arg push! and unshift!
Introduce variables `edpath` and `edname` in edit()
Wrap the rank one updates from BLAS. Organize the blas.jl after BLAS levels. Code cleanup.
Merge pull request #4684 from JuliaLang/anj/blas

Wrap the rank one updates from BLAS. Organize the blas.jl after BLAS levels. Code cleanup.
Pkg.GitHub: basics of interacting with the GitHub API using curl.
Pkg.GitHub: return HTTP status codes as well as response content.
Pkg.GitHub: refactor curl & req interfaces a bit.
Pkg.GitHub: pushable(owner,repo) tests if you can push that a repo.
Merge pull request #4782 from stevengj/pushitr

support multi-arg push! and unshift!
allow produce and consume to pass values in both directions. closes #4775
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
download: move from base/file.jl to base/util.jl.

This isn't really a file operation, it's just a handy utility. It
is actually pretty questionable to have this in the base language,
but it's probably used somewhere important.
better implementation of multi-arg promote
constant-fold construction of tuple types

a small improvement to effect_free, which helps inlining

definitions used by ccall need to be available earlier