setup_board: save/restore package.{mask,keywords} files
setup_board: save/restore package.{mask,keywords} files

If we try to setup multiple boards that use the same toolchain, we end up
deleting the package.{mask,keywords} files for the existing toolchain so
that we can detect if there are upgrades available.  If there aren't, the
files don't get recreated (since we were relying on crossdev for it), and
the installed toolchain packages may no longer be directly reinstalled if
they aren't incidentally marked stable.

Normally this isn't an issue since people build for target boards only
rather than installing toolchains, but this breaks the sdk bot since it
sets up a bunch of bots and then tries to emerge all the toolchain pkgs
directly.  With packages we've pinned that are unstable, portage fails:

	The following keyword changes are necessary to proceed:
	#required by =cross-arm-none-eabi/newlib-1.18.0 (argument)
	>=cross-arm-none-eabi/newlib-1.18.0 **

So backup & restore the files in the update path rather than just blowing
them away.  If we end up installing things anyways, crossdev will do the
right thing.

BUG=None
TEST=`cbuildbot chromiumos-sdk` passes

Change-Id: I6efc71179d6f897af91deaefe1ce6c62df10ebf6
Reviewed-on: https://gerrit.chromium.org/gerrit/16220
Commit-Ready: Mike Frysinger <8f3f75c74bd5184edcfa6534cab3c13a00a2f794@chromium.org>
Reviewed-by: Mike Frysinger <8f3f75c74bd5184edcfa6534cab3c13a00a2f794@chromium.org>
Tested-by: Mike Frysinger <8f3f75c74bd5184edcfa6534cab3c13a00a2f794@chromium.org>

vmware/coreos-scripts,mjg59/scripts,sigma/coreos-scripts,endocode/scripts,nicescale/scripts,nicescale/scripts,mjg59/scripts,trnubo/scripts,smilart/scripts,bcwaldon/coreos-scripts,bcwaldon/coreos-scripts,BugRoger/scripts,gtank/scripts,mischief/scripts,trnubo/scripts,fivethreeo/scripts,zhang0137/scripts,andrejro/coreos--scripts,andrejro/coreos--scripts,gtank/scripts,smilart/scripts,marineam/coreos-scripts,mjg59/scripts,zhang0137/scripts,vmware/coreos-scripts,crawford/scripts,mischief/scripts,gtank/scripts,endocode/scripts,sigma/coreos-scripts,BugRoger/scripts,coreos/scripts,marineam/coreos-scripts,sigma/coreos-scripts,crawford/scripts,fivethreeo/scripts,glevand/coreos--scripts,crawford/scripts,endocode/scripts,BugRoger/scripts,trnubo/scripts,glevand/coreos--scripts,marineam/coreos-scripts,zhang0137/scripts,vmware/coreos-scripts,bcwaldon/coreos-scripts,nicescale/scripts,coreos/scripts,mischief/scripts,fivethreeo/scripts,andrejro/coreos--scripts,smilart/scripts