Parse a stack string and return an array of CallSiteLike objects

We use this to get the at diagnostic callsite when all we have is a stack, either from a native Error object, or a stringified CallSiteLike stack.