Improved gofmt

This is improved over the current approach.  It doesn't destroy the undo history at all anymore. It's doing it by saving and restoring the undo history to a temporary file. It meant to close #40. 

I'm not quite sure however if it's a good approach, because we do have now an additional file creation, writing an deleting operation which could slow the whole approach. Let's test this and decide if this is a good solution.