Added an overload taking string literals to BasicStringRef

This patch allows constructing `BasicStringRef` from a string literal, the size of which is known at compile time. Note that I had to change the constructor taking a `const char*` to take a `const &` to `const char*`, in order to disable the decaying of string literals to pointers.