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.
Rename the global variable `out` to `gOut` so that one can easier realize it is a global variable.
Fix some comment problem.
Merge pull request #4 from shurcooL/master

Add godiff.ExecWriter that works on already-parsed Go files, improve and clean up code.