Rename tile_layout -> tall_layout

Tile is too generic of a term and is overloaded to refer to the type of
layout that tiles its windows and also this particular type of tile
layout. Instead, just use the xmonad name, "tall".
Separate window traversal from layout

This way we can add a "stack" layout that positions windows at the top
of the stack instead of tiling them.
Add support for stacked (floating) windows
Order functions corresponding to header
Style