map!, similar and eltype for DArray and SharedArrays

Context - https://groups.google.com/d/msg/julia-dev/MqJbvGiJ9dc/SqNL-esi3kcJ

Also closes https://github.com/JuliaLang/julia/issues/5893. It doesn't address the larger issue of a portable interface between Array, DArray and SharedArrays.