fix dup for const/immutable reference type elements

The second overload takes care of all cases where the elements can be
converted to mutable. So, the first overload has no business
Unconst-ing anything.
As far as I see, dlang.org doesn't state that the resulting elements are supposed to be mutable.

<http://dlang.org/arrays.html>:
> .dup  Create a dynamic array of the same size and copy the contents of the array into it.

~~If there is another nice way to get a simple copy of an array, I'd be fine with that. I couldn't find it in phobos.~~

Never mind, I'm stupid. `std.array.array` does that. It doesn't work with `const(Object)`, though ...