Changed `std.conv.hexString` to return an immutable string literal

$(REF hexString, std,conv) now returns an immutable string literal rather than an array of ubytes.
This is more in keeping with
the documentation that says it is a replacement for the deprecated
`x"deadbeef"` string literal syntax.

The benefits of this change are:

$(UL
  $(LI behavior consistency with the documentation)
  $(LI the `hexString` template instantiations no longer appear in the generated object file)
  $(LI the generated object file no longer contains references to `TypeInfo` and various druntime functions)
  $(LI it is now compatible with `-betterC` mode)
)

In some cases, code did rely on it being an array, and a cast will
fix the issue:

---
// now an error:
enum ubyte[8] input = hexString!"c3 fc 3d 7e fb ea dd aa";
---

---
// add cast to fix:
enum ubyte[8] input = cast(ubyte[8]) hexString!"c3 fc 3d 7e fb ea dd aa";
---
