Bitcoin-Qt: updates to options handling code

I need pulltester for this, commit-msg will be added afterwards, dot't merge me :).

@laanwj If you have the time you can start looking at the code already. I intend to require a client-restart before options can be reset and added code to see if a restart is required + some cleanup.