Begin work on fixing golang issues 5551 and 4449.

Start with latest version of go/format and cmd/gofmt.
Add a failing test case.
Use the parse() of gofmt which preserves comments.
Work on merging parse() of gofmt and go/format, fixing 5551 and 4449.

Tests pass.
Add a failing test case for 4449.
Use the unified parse() of go/format.
Use parserMode variable.
Use a more accurate suffix removal amount.

It doesn't make a difference because of the prefix/suffix adjustment
happening in post-processing anyway. But this is more correct.
WIP on removing matchSpace dependency.

matchSpace no longer needs to do everything it used to, and there's
overlap with code that determines the leading space.
Refactor and significantly clean up the code.

There should not be any behavior changes. Issues 5551 and 4449 continue
to be fixed, but this code is much cleaner and easier to understand.
Achieve parity and commonality between common code of
cmd/gofmt/gofmt.go and go/format/format.go, paving the way to future
code deduplication.
Consolidate two helpers into one.
go/format: Change parserMode var to const.
Refactor based on review feedback.

Use standard bytes.TrimSpace instead of custom cutSpace. It operates on
Unicode rather than bytes.
Move j++ into for loop post-statement.
Remove unnecessary empty line.
Refactor based on additional review comments.

Add test cases. Currently tests fail because there's a problem with
using bytes.Replace that needs to be fixed.
Fix remaining raw string literal issue by removing bytes.Replace.

In order to remove the one level of indent that gofmt adds to the
function body, adjust the indent that will be used with go/printer
Fprint.
Add more raw string literal tests to go/format/format_test.go.
Apply gri's suggestions for cleanup and reorg.
Correct comment to match actual behavior.
Use two spaces after period to be consistent with other comments.

I have no idea why this is done. One space should be enough. :/
Factor out the common section into factor() func.
Update css location.

Still need to find a better solution for this. GitHub's css is needed
to render GFM correctly...