Javascript line wrapping option based on expanded newline preservation points

This expands the set of locations where newlines are preserved to include open-parens and dots.  And then adds a line wrapping option based on the locations where newlines would preserved.  

Result is not always _beautiful_, but is generally reasonable and not ugly.