Slate is a relatively new option that's meant to replace all the previous window management tools. To use it you create a ~/.slate file, like a bashrc for window management. This gives you tons of options so you can make it work however you'd like.

EDIT:

As some people have commented slate has seemingly been abandoned with a year since the last commit. Luckily I discovered Phoenix which is very similar to slate with similar configs.

For a while, Phoenix got deprecated and substituted by Hydra, but now it's back in development, by another author, while Hydra is deprecated. Mjolnir is the successor to Appgrid, Zephyros, Phoenix, Hydra and Penknife, by the original author, Steven Degutis. Mjolnir vs. other apps