SHL-136: Report syntax error location to the user

Adds a nice caret showing the offending position when something illegal is provided.
Some examples:
```
Welcome to Spring Shell. For assistance press or type "hint" then hit ENTER.
spring-shell>test foo --key bar coo
test foo --key bar coo
                   ^
You cannot specify 'coo' as another value for the default ('') option in a single command.
You already provided 'foo' earlier.
Did you forget to add quotes around the value of another option?

spring-shell>test --key foo bar --key coo
test --key foo bar --key coo
                   ^
You cannot specify 'coo' as another value for the '--key' option in a single command.
You already provided 'foo' earlier.

spring-shell>script --file "foo
script --file "foo
                  ^
Cannot have an unbalanced number of quotation marks

spring-shell>script --file "foo ain't \ugood"
script --file "foo ain't \ugood"
                         ^
Illegal unicode escape sequence: \ugood

```