Apply gofmt.
Move flag usage func into command main.

Use source code of gofmt as reference.
Add ExecWriter that works on parsed Go files, writes to custom writer.
Improve API and docs by unexporting internal code.

gorename --from="github.com/daviddengcn/go-diff/cmd.Diff" --to="diff"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffFuncs"
--to="diffFuncs"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffImports"
--to="diffImports"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffLineSet"
--to="diffLineSet"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffLines"
--to="diffLines"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffLinesTo"
--to="diffLinesTo"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffPackage"
--to="diffPackage"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffTypes"
--to="diffTypes"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffVars"
--to="diffVars"
gorename --from="github.com/daviddengcn/go-diff/cmd.GreedyMatch"
--to="greedyMatch"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowColorDelLine"
--to="showColorDelLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowColorInsLine"
--to="showColorInsLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowDelLine"
--to="showDelLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowDelLines"
--to="showDelLines"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowDelTokens"
--to="showDelTokens"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowInsLine"
--to="showInsLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowInsLines"
--to="showInsLines"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowInsTokens"
--to="showInsTokens"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowInsWholeLine"
--to="showInsWholeLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.DiffFragment"
--to="diffFragment"
gorename --from="github.com/daviddengcn/go-diff/cmd.FileInfo"
--to="fileInfo"
gorename --from="github.com/daviddengcn/go-diff/cmd.StringFrag"
--to="stringFrag"
gorename --from="github.com/daviddengcn/go-diff/cmd.LineOutputer"
--to="lineOutputer"
gorename --from="github.com/daviddengcn/go-diff/cmd.Fragment"
--to="fragment"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowDelWholeLine"
--to="showDelWholeLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.ShowDiffLine"
--to="showDiffLine"
gorename --from="github.com/daviddengcn/go-diff/cmd.TYPE_NAMES"
--to="typeNames"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_NONE"
--to="df_NONE"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_TYPE"
--to="df_TYPE"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_CONST"
--to="df_CONST"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_VAR"
--to="df_VAR"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_STRUCT"
--to="df_STRUCT"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_INTERFACE"
--to="df_INTERFACE"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_FUNC"
--to="df_FUNC"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_STAR"
--to="df_STAR"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_VAR_LINE"
--to="df_VAR_LINE"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_PAIR"
--to="df_PAIR"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_NAMES"
--to="df_NAMES"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_VALUES"
--to="df_VALUES"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_BLOCK"
--to="df_BLOCK"
gorename --from="github.com/daviddengcn/go-diff/cmd.DF_RESULTS"
--to="df_RESULTS"
gorename --from="github.com/daviddengcn/go-diff/cmd.TD_STRUCT"
--to="td_STRUCT"
gorename --from="github.com/daviddengcn/go-diff/cmd.TD_INTERFACE"
--to="td_INTERFACE"
gorename --from="github.com/daviddengcn/go-diff/cmd.TD_POINTER"
--to="td_POINTER"
gorename --from="github.com/daviddengcn/go-diff/cmd.TD_ONELINE"
--to="td_ONELINE"
gorename --from="github.com/daviddengcn/go-diff/cmd.Parse" --to="parse"
Change package header to appear nicer in godoc.

Previously, it would think the indented line was a line of code.