format text in buffer and format before save

clang-format:format now formats the source in the buffer instead
of the one on disk.
When clang-format.formatOnSave is true, the source is formatted
before it is written to disk instead of after.