Adding restoration of the keychains as a build wrapper

New approach to keychain restoration. I did not consider aborting a build manually in my first pull request. After a bit of research I found that a `BuildWrapper` should be the appropriate extension point for restoring the keychains, because it will be run even if the user aborts the build manually.

It may be set in the global configuration which keychains are to be restored. See screenshots attached. The switch for the "Restore keychain" field is because of an annoying bug(?). I had checkboxes first, but when checking just a few keychains to be restored, the ones which are not, won't get saved. See https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-dev/PAf3mFWv1LI

![bildschirmfoto 2013-05-29 um 08 54 32](https://f.cloud.github.com/assets/637549/577255/3860068c-c82d-11e2-8882-8330f9383ae4.png)

![bildschirmfoto 2013-05-29 um 08 54 47](https://f.cloud.github.com/assets/637549/577258/4ce8dbb0-c82d-11e2-8568-5a7652e9ea3e.png)