uci: do not commit on exit if there was no change done

We should not commit every time we exit from context because that can
take a long time. This remembers if some changes could have been done
and otherwise we do not commit on exit.
4 jobs for v0.4.2 in 36 seconds (queued for 4 seconds)
latest
Status Job ID Name Coverage
  Test
passed #253095
python2

00:00:19

passed #253096
python3

00:00:19

 
  Pages
passed #253097
pages

00:00:17

 
  Deploy
passed pages:deploy

00:00:00