1: some were not stripped agressively enough. E.g.:
return !0 -> return!0
2: some were stripped too aggressive. E.g.:
func()
{1+2}
Should not be joined on 1 line, since func() could be a function
call and {1+2} an unrelated piece of code
Fixes issue #130
return is not guaranteed to be followed by a return value.
It could just be "return", followed by nothing (void return),
not even a semicolon, just line feed (ASI)
Whatever is next could, for example, be another operator.
We may just need ASI to kick in there, so keep the line feed
after return.
Fixes issue #54