Make fullscreen magit-status use a recursive-edit

The code for making magit-status fullscreen and restoring the closed
windows when it's exited used a register for storing the window
configuration. This commit makes it use a recursive-edit and
save-window-excursion.
Change C++ standard to C++11