fix($parse): add `.assign()` function to settable expressions in CSP mode

Also fixes the test suite, which was not actually taking CSP-mode paths when
we were expecting it to.

Numerous CSP-mode tests are failing, working on fixing these.
I meant that you say your are factoring it out as it is shared. Are you saying that it **should** have been shared but wasn't (i.e. there was a bug) and rather than doubling up the code you have factored it out?

At the moment there is only one removal and one addition. I expected to see two removals and one addition. Am I making sense?