Fixed off by one errors that caused strange behaviour on the last Workspace.
Fixed client_to_ws not looking at the correct workspace.

prev_client assumed that we wanted to look on the current workspace- that isn't true for finding a previous client on another workspace (as we do in client_to_ws).
Added the basis of rules.

Added the implementation of rules.

When the client is to be spawned on a different workspace (without follow set to true) the client is expanded to be the full size of the display (larger than fullscreen) and appears behind all workspaces.