layouts: Allow layouts to be invoked with fake data

This patch allows 2 things to be done:

* Write unit test to validate layouts using fake clients and tags
* Query the current layout geometry from another tag

The advantages of the former are clear and simple. Those of the later include:

* Creating a screenshot of another layout
* Display the layout wireframe in the tag list (like KDE2-3, Gnome2)
* Having and 'ALT-tab' like visual popup for tags
tag.delete: Do not reset client tag when unnecessary
Merge branch 'layout_unit_testability_V2' of git://github.com/Elv13/awesome-1
Merge branch 'fix_tag_remove_v1' of git://github.com/Elv13/awesome-1