Fixed
- If `style.SetGlobalStyle(<create pre-defined style>)` was called and then
`yapf_api.FormatCode` was called, the style set by the first call would be
lost, because it would return the style created by `DEFAULT_STYLE_FACTORY`,
which is set to PEP8 by default. Fix this by making the first call set which
factory we call as the "default" style.
- Don't force a split before non-function call arguments.
- A dictionary being used as an argument to a function call and which can exist
on a single line shouldn't be split.
- Don't rely upon the original line break to determine if we should split
before the elements in a container. Especially split if there's a comment in
the container.
- Don't add spaces between star and args in a lambda expression.
- If a nested data structure terminates in a comma, then split before the first
element, but only if there's more than one element in the list.