Add commands and examples for growing to edge.

The idea here is to play with the boundary between what should be in the
window manager itself, and what should be scripted. With the addition of
a few commands to query the geometry of heads and clients, it's possible
to script all sorts of window movements.

The example provided implements some "grow to edge" behavior, where
edges are only defined to be monitor boundaries at the moment. It can be
extended to inspect other clients using the GetClientList command.