Added helper function for running a parser if a value option is None
Fixed parseAssignmentNoLoeadingSpace

Forgot to remove the `spaces1` parsing from the front.
Added new parseDotNotation
Adjusted parseExpression to handle method calls

All of this code is a little rough and thrown-together, but seems to be
functioning fairly well with the input I've been giving it:

`System.String.Format("Test")`
`System.String.Format({"Test", "Test"})`
`System   .   String   .   Format   (   "Number: {0}, and word: ""{1}"""   ,   1   ,   "Test"   )`