Refactor Socket::DecodeHostAndPort() to use LLVM API over redundant
LLDB API. In particular, this means llvm::Regex, llvm::Error return
type and llvm::StringRef.getAsInteger().
While at it, change the port type from int32_t to uint16_t. The method
never returns any value outside this range, and using the correct type
allows us to rely on getAsInteger()'s implicit overflow check.
Actually, to_integer is already an llvm API (accessed via ADL here :P), and overall I'd prefer to standardize on that, as the most common error with getAsInteger is to get the return value backwards.
(to_integer will also do an implicit StringRef conversion, so you can call it on a std::string without manual casts).