Fixed bug with branch tracking when test component of ternary contains a...

... string with a question mark

- Uses the AST nodes instead of parsing the source for the ternary "?" character
- Updated fixtures using branch tracking as whitespace is handled slightly differently now (it gets stripped out)