When disconnecting a screen, it would previously leave the tags on the
old screen, throwing errors when trying to move them to an existing
screen. This change makes sure that the tags are moved over to an
existing screen when the screen is removed. It doesn't make sense to
allow tags without screens, since all clients (programs) that were on
the old tags will be moved to another tag on an existing screen anyway.
awful.screen.connect_for_each_screen(func) can be used to restore tags
to a screen when it is connected again. Closes#2.